CoffeeScript包不适用于Meteor 0.9.0.1

时间:2014-09-04 00:50:07

标签: meteor

升级到0.9.0.1后,看起来CoffeeScript包有两个问题:

  • package.js的导出似乎不会被导出。

  • 源文件似乎没有被编译。

package.js:

    Package.describe({
       summary: "sunburn"
    });

    Package.on_use(function (api, where) {

       api.add_files(['lib/sunburn.coffee'], 'server');

       api.export && api.export('Stinger', 'server');


    });

    Package.on_test(function (api) {
    });

sunburn.coffee:

Stinger = -> "stinger here"

这是一个本地包。两个流星都会增加晒伤'和流星去除晒伤'工作得很好。如果修改了sunburn.coffee,则服务器将重新启动。然而,' Stinger'从服务器端代码使用时未定义。更有趣的是,如果修改sunburn.coffee以包含语法错误,服务器将很乐意重新启动并且不会报告错误。这就是让我相信CoffeeScript文件甚至不被编译的原因。或者,至少,没有完全"连接"。

类似于此的代码在pre 0.9版本中有效。

最后一个注意事项:如果将sunburn.coffee更改为普通的js文件,' Stinger'重写为普通的javascript,并在package.js中更新了文件路径,上面的工作正常。

谢谢: - )

1 个答案:

答案 0 :(得分:3)

您需要指定您的包实际上依赖于coffeescript来进行编译:

api.use("coffeescript","client");

以前,只有你的应用程序依赖于构建插件(少,coffeescript等...)是好的,但显然现在你必须指定你也在包内使用它们。

不相关,但你也应该在你的Package.describe中指定一个版本,并且测试api.export的存在是无关紧要的,因为我希望没有人使用Meteor< 0.6.5了。

相关问题