从JavaScript文件或REPL中require()'CoffeeScript文件
我正在使用Node.js,并希望将CoffeeScript整合到我的工作stream程中。 我有两个用例:
- 我希望能够编写
require()
CoffeeScript模块的JavaScript文件 - 我希望能够从节点REPL中加载CoffeeScript模块
对于案例#1:我可以从.coffee
编译为.js
并require()
.js
模块作为解决方法。
对于案例#2:现在我eval()
coffee-script.compile()
的输出。
有没有更好,更统一的方法来做到这一点?
咖啡脚本模块在需要时注册其扩展名。
$ echo 'console.log "works"' > module.coffee $ echo ' > require("coffee-script") > require("./module") > ' > test.js $ node test.js works $ node > require('coffee-script'); require('./module') works {}
编辑 :这个行为已经改变了CoffeeScript 1.7.0的转变。 现在你需要做的是:
require('coffee-script/register');
更通用的解决scheme是使用更好的要求 。
npm install better-require
它可以让你require()
CoffeeScript文件,不需要预编译。 (它也可以让你require()
一堆其他文件格式:CoffeeScript,clojurescript,yaml,xml等)
在CoffeeScript的情况下,它只需要coffee-script
模块。
require('better-require')(); var myModule = require('./mymodule.coffee'); var clojurescriptModule = require('./mymodule.cljs'); // etc.
披露:我写了better-require
。