升级到0.9.0.1之后,CoffeeScript包似乎有两个问题:
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文件甚至没有被编译。或者,至少,没有完全“连线”。
类似于此的代码可以在预0.9版本中工作。
最后一个注意事项:如果将sunburn.coffee更改为一个普通的js文件,“Stinger”重写为普通javascript,并且文件路径在package.js中更新,那么上面的操作就很好了。
谢谢:-)
发布于 2014-09-04 01:28:40
您需要指定您的包实际上依赖于coffeescript来实现编译:
api.use("coffeescript","client");
以前,只有你的应用程序依赖于构建插件(更少,coffeescript等)很显然,现在您必须指定在包中也使用它们。
不相关,但您也应该在Package.describe中指定一个版本,并且测试是否存在api.export是不相关的,因为我希望没有人再使用Meteor < 0.6.5。
https://stackoverflow.com/questions/25655751
复制相似问题