2012-03-01 33 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")'