首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >require()‘从JavaScript文件或REPL中提取CoffeeScript文件

require()‘从JavaScript文件或REPL中提取CoffeeScript文件
EN

Stack Overflow用户
提问于 2011-01-22 23:39:46
回答 2查看 29.4K关注 0票数 54

我正在使用Node.js,并希望将CoffeeScript整合到我的工作流程中。我有两个用例:

  1. 我希望能够写入JavaScript文件,其中require() CoffeeScript模块
  2. 我希望能够从节点中加载CoffeeScript模块REPL

情况#1的:作为变通方法,我可以从.coffee编译到.js,然后require() .js模块。

情况2的:,现在我正在eval() coffee-script.compile()的输出。

有没有更好、更统一的方法来做这件事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-23 00:40:00

咖啡脚本模块在需要时注册其扩展名。

代码语言:javascript
复制
$ 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的发布,这一行为发生了变化。现在你需要做的是:

代码语言:javascript
复制
require('coffee-script/register');
票数 95
EN

Stack Overflow用户

发布于 2012-11-01 23:19:09

更通用的解决方案是使用better-require

代码语言:javascript
复制
npm install better-require

它可以让你require() CoffeeScript文件,不需要预编译。(它还可以让你require()一堆其他的文件格式: CoffeeScript,clojurescript,yaml,xml等等)

在CoffeeScript的情况下,它只需要coffee-script模块。

代码语言:javascript
复制
require('better-require')();
var myModule = require('./mymodule.coffee');
var clojurescriptModule = require('./mymodule.cljs');
// etc.

披露:我写了better-require

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4768748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档