我试图在我的 Meteor 项目中排除我越来越大的单个 CoffeeScript 文件,并遵循了关于使用this
. 但是,即使是简单的事情,例如:
console.log("this=" + this)
@gave =
Transactions: new Meteor.Collection("Transactions")
Causes: new Meteor.Collection("Causes")
生成终端错误并且服务器不会启动:
=> Meteor server restarted
this=undefined
/home/g/workspace/gave/.meteor/local/build/server/server.js:321
}).run();
^
TypeError: Cannot set property 'gave' of undefined
at app/gave.coffee.js:6:11
根据上面链接的建议,
全局变量可以通过使用 this(或 CoffeeScript 的 @ 简写)在 CoffeeScript 中设置,因为在顶层 this 指的是全局命名空间(客户端上的窗口和服务器上的全局)。
所以,我真的不知道我要去哪里错了。你可以吗?:)