你可能混合了几件事情在这里。 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")'