编译Coffeescript时不要添加var

时间:2012-04-09 04:51:42

标签: javascript node.js inheritance coffeescript

我正在编写一个使用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”?

1 个答案:

答案 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作为示例,但您可以使用任何范围。