2012-03-01 34 views

回答

4

你可能混合了幾件事情在這裏。 Coffeescript是編譯器,它將coffeescript轉換爲javascript。 coffeescript的eval選項告訴它讀取要從命令行編譯的源代碼,而不是執行它。

要執行代碼,您需要在某種JavaScript環境中運行它。 Node.js是一個流行的選擇。因此,首先,創建你的CoffeeScript模塊,稱之爲MyMod.coffe這樣的:

module = do -> 
    first: (test) -> 
    console.log 'first' + test 

    second: (test) -> 
    console.log 'second' + test 

console.log "MyMod registered", module 

exports.first = module.first 
exports.second = module.second 

有一些額外的代碼能夠在該代碼導出爲一個JavaScript模塊。使用coffee -c MyMod.coffee進行編譯。

然後你就可以用比如在命令行中執行:

node -e 'var m=require("./MyMod");m.second("abcff");' 

,你應該得到這樣的:

MyMod registered { first: [Function], second: [Function] } 
secondabcff 

更新時間:

似乎可以運行咖啡標記直接。如果您刪除編譯MyMod.js文件,這樣你只有MyMod.coffee躺在身邊,你可以這樣做:

node -e 'require("coffee-script");var m=require("./MyMod");m.second("abcff");' 

得到相同的輸出。當然假設咖啡腳本模塊被安裝。

更新:

您也可以直接運行coffee可執行文件:

coffee -e 'm = require("./MyMod"); m.second("abcff")'