我可以将coffeescript代替js用于node.js吗?
-
10-10-2019 - |
题
如果我想编码node.js并使用coffeescript,我的限制是什么?我可以在JS中做任何我能做的事情吗?
解决方案
是的,CoffeeScript只需将其编译成纯JS,使其与Node.js完全兼容。
要在节点上运行Coffeescripts,您可以:
- 类型
coffee -c example.coffee
编译,然后是node example.js
运行编译的JS。 - 只需键入
coffee example.coffee
其他提示
您不仅可以直接在节点中运行coffeescript文件
coffee source.coffee
您还可以要求它们像JavaScript文件一样。例如,如果您有 lib.coffee
在目录中,您可以写
require './lib'
从同一目录中的另一个Coffeescript文件。 (为了从JavaScript文件执行此操作,您必须添加 require 'coffee-script'
在顶部。)因此,除非您使用NPM这样的工具包装项目进行部署,否则您永远不必在节点下明确进行汇编。
一个警告:在堆栈跟踪中,即使您直接运行Coffeescript(因此您无法访问JavaScript),您也会看到您参考编译的JavaScript的行号。许多人都在试图解决这个问题,但这是一个巨大的挑战。
是的,这是一个不同,更简单的答案。您需要执行2个步骤。
npm install coffee-script --save # I assume you would have done this already
.有
require('coffee-script')
作为将执行的第一行server.js
的app.js
. (更新: 由于咖啡脚本1.7,您必须做require('coffee-script/register'))
这将CoffeeScript编译器注册到您的应用程序中,您现在可以开始平等处理咖啡文件和JS文件(这意味着您也可以需要咖啡文件!)。
此方法将要求您仅在Vanilla JavaScript中编写一个文件(app.js)。但是优点是,您的部署环境不必将CoffeeScript作为初始安装的依赖性来运行您的应用程序。在这种情况下,您只需要通过代码复制,然后 npm install
将安装所有必要的软件包。和 npm start
会让你开始运行
您可以使用 抖动, ,简单的连续汇编。
npm install -g jitter
假设您在咖啡目录中有一堆 *.foffee文件,并希望将它们编译到JS目录。然后运行:
jitter coffee js
抖动在后台运行,直到您终止它(CTRL+C),以期待新的更改。
Coffeescript + ExpressJS + Couchdb + Redis + Auth:
尝试这个
#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"
然后做:
chmod +x demo.coffee
./demo.coffee
Coffeescript与节点具有相当稳定的集成。一旦加载了“咖啡订阅”模块,要么由 require('coffee-script')
, ,通过我在上面的演示或跑步 coffee demo.coffee
...加载后,您可以使用 require('./foo')
带进来 foo.coffee
如果您要自动编译所有CoffeeScript文件(在一个(包括Subdir)中的一个目录中),请使用此命令:
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc