我正在使用Node.js,并希望将CoffeeScript整合到我的工作流程中。我有两个用例:
require()
CoffeeScript模块情况#1的:作为变通方法,我可以从.coffee
编译到.js
,然后require()
.js
模块。
情况2的:,现在我正在eval()
coffee-script.compile()
的输出。
有没有更好、更统一的方法来做这件事?
发布于 2011-01-23 00:40:00
咖啡脚本模块在需要时注册其扩展名。
$ 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');
发布于 2012-11-01 23:19:09
更通用的解决方案是使用better-require。
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
。
https://stackoverflow.com/questions/4768748
复制相似问题