Joe*_*ett 3 coffeescript meteor
几个小时后,我无法获取Meteor软件包来导出CoffeeScript文件中定义的变量.
在foo.coffee,例如,我尝试使用@Foo = {foo: 1},Foo = {foo: 1},exports.Foo = {foo: 1},等等等等,但没有什么会工作.
最后,看着流星后CoffeeScript的测试包在github上,我把api.export();通话之前的api.on_use()呼吁,即包和它的工作.
我的包装设置如下:
foo/
.meteor/
.build/
foo.coffee
package.js
Run Code Online (Sandbox Code Playgroud)
class FooBar
constructor: ->
Foo =
FooBar: FooBar
Run Code Online (Sandbox Code Playgroud)
Package.describe({
summary: "A package that makes foo with foobar"
});
Package.on_use(function(api) {
api.use("coffeescript", "client");
api.export("Foo", "client"); // <-- Moved this to *before* the on_use declaration
api.add_files("foo.coffee", "client");
});
Run Code Online (Sandbox Code Playgroud)
wai*_*kuo 10
Coffeescript编译
@Foo =
FooBar: FooBar
Run Code Online (Sandbox Code Playgroud)
至
(function() {
this.Foo = {
FooBar: FooBar
};
}).call(this);
Run Code Online (Sandbox Code Playgroud)
你需要删除this.之前的Foo,看看命名空间,但这不是一个好主意,因为你可能需要在修改原始咖啡文件后编译它.
这是我的诀窍:
添加一个名为的文件global_variables.js:
Foo = this.Foo;
Run Code Online (Sandbox Code Playgroud)
然后将其添加到package.js中:
api.add_files('xxx', 'xxx', 'global_variables.js');
Run Code Online (Sandbox Code Playgroud)
然后就行了!
| 归档时间: |
|
| 查看次数: |
1205 次 |
| 最近记录: |