如果我想编写 node.js 并使用 CoffeeScript,我的限制是什么? 我能在 JS 里做点什么吗?
是的,CoffeeScript 只是简单地编译成纯 JS,使其与 node.JS 完全兼容。
要在节点上运行 CoffeeScripts,您可以:
coffee -c example.coffee
node example.js
coffee example.coffee
不仅可以直接在 Node 中运行 CoffeeScript 文件
coffee source.coffee
您也可以像要求 JavaScript 文件一样要求它们。例如,如果目录中有 lib.coffee,则可以编写
lib.coffee
require './lib'
从同一目录中的另一个 CoffeeScript 文件。(为了在 JavaScript 文件中实现这一点,必须在顶部添加 require 'coffee-script'。)因此,您永远不必在 Node 下显式地进行编译,除非您使用 npm 之类的工具打包项目以进行部署。
require 'coffee-script'
需要注意的是: 在堆栈跟踪中,您将看到的行号是指已编译的 JavaScript,即使是在直接运行 CoffeeScript 时也是如此(因此您无法访问 JavaScript)。很多人都在试图解决这个问题,但这是一个很大的挑战。
Coffeescript + ExpressJS + Couchdb + Redis + Auth:
Https://gist.github.com/652819
视频教程
我看过 Pedro Teixeira的一个很棒的教程系列。他一直在用节点教程构建整个系列。其中包括参考 Noemon 进行自动检测和编辑后的编译与重载。咖啡文件。
如果你想在每次咖啡脚本文件变成 javascript 时自动编译它们(包括 subdir 在内的一个目录中) ,只需使用以下命令:
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc
试试这个
#!/usr/bin/env coffee v = 78 console.log "The value of v is '#{v}'"
然后:
chmod +x demo.coffee ./demo.coffee
CoffeeScript 与节点的集成非常扎实。一旦“咖啡脚本”模块被加载,或者通过 require('coffee-script'),通过上面我演示的 she-bang,或者通过运行 coffee demo.coffee... 一旦加载,你可以使用 require('./foo')来引入 foo.coffee
require('coffee-script')
coffee demo.coffee
require('./foo')
foo.coffee
您可以使用 神经过敏,它是 CoffeeScript 的简单连续编译。
npm install -g jitter
假设你有一堆 * 。并希望将它们编译到 js 目录中。然后跑:
jitter coffee js
Jitter 在后台运行,直到您终止它(Ctrl + C) ,观察新的变化。
是的,这里有一个不同的简单的答案。你需要做两个步骤。
npm install coffee-script --save # I assume you would have done this already.
npm install coffee-script --save # I assume you would have done this already
将 require('coffee-script')作为将在 app.js的 server.js中执行的第一行。(更新:因为咖啡脚本1.7,你将不得不做 require('coffee-script/register'))
app.js
server.js
require('coffee-script/register'))
这将咖啡脚本编译器注册到您的应用程序,您可以开始平等地对待咖啡文件和 js 文件(这意味着您也可以要求咖啡文件!).
这个方法只需要用普通的 javascript 编写一个文件(app.js)。但是这样做的好处是,您的部署环境不需要将 coffee escript 作为运行应用程序的初始全局安装依赖项。在这种情况下,您只需要复制您的代码,npm install将安装所有必要的包。npm start会让你重新运行
npm install
npm start