我正在编写一个使用John Resig's simple class inheritance的简单应用。我在Node.js中这样做,我也在使用CoffeeScript。我试图编写CoffeeScript,输出类似于this file in the BrowserQuest game的代码。
当我写这样的CoffeeScript时,不过:
cls = require './class'
module.exports = Model = cls.Class.extend({
init: () ->
console.log 'Model.init()'
})
“var”会自动添加到Model中,因此似乎无法正确导出。
var Model, cls;
cls = require('../class');
module.exports = Model = cls.Class.extend({
init: function() {
return console.log('Model.init()');
}
});
有没有办法将变量标记为不使用CoffeeScript的“var”?
答案 0 :(得分:2)
每个变量都是在CoffeeScript上使用var定义的,除非给出了范围:
cls = require './class'
module.exports = GLOBAL.Model = cls.Class.extend({
init: () ->
console.log 'Model.init()'
})
汇编为:
var cls;
cls = require('./class');
module.exports = GLOBAL.Model = cls.Class.extend({
init: function() {
return console.log('Model.init()');
}
});
我使用GLOBAL作为示例,但您可以使用任何范围。