2012-04-09 56 views
2

我正在編寫一個使用John Resig's simple class inheritance的簡單應用程序。我在Node.js中這樣做,我也使用CoffeeScript。我試圖編寫CoffeeScript來輸出類似於this file in the BrowserQuest game的代碼。編譯Coffeescript時不要添加var

當我寫的CoffeeScript這樣的,雖然:

cls = require './class' 

module.exports = Model = cls.Class.extend({ 
    init:() -> 
    console.log 'Model.init()' 
}) 

的「變種」將自動添加到模型,這似乎並沒有被正確地導出。

var Model, cls; 

cls = require('../class'); 

module.exports = Model = cls.Class.extend({ 
    init: function() { 
    return console.log('Model.init()'); 
    } 
}); 

有沒有辦法標記變量不使用「var」與CoffeeScript?

+1

爲什麼不使用CoffeeScript的類語法?有什麼你需要做的,可能會阻止你使用它,而不是? – Sandro 2012-04-09 14:21:28

回答

2

每個變量與CoffeeScript的一個變種定義,除非它給了一個範圍:

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作爲一個例子

,但你可以使用任何範圍。