由于我们可以使用各种解释器(如V8或Rhino)运行JavaScript,因此我认为应该有办法在终端中运行CoffeeScript代码。有没有办法在终端本身运行CoffeeScript?
从技术上讲,我可以通过在运行JavaScript时使用Node.js来实现,但我很好奇是否有专门为CoffeeScript设计的独立解释器。
由于我们可以使用各种解释器(如V8或Rhino)运行JavaScript,因此我认为应该有办法在终端中运行CoffeeScript代码。有没有办法在终端本身运行CoffeeScript?
从技术上讲,我可以通过在运行JavaScript时使用Node.js来实现,但我很好奇是否有专门为CoffeeScript设计的独立解释器。
不可以。您可以使用coffee filename
启动一个coffeescript文件,但这只会编译内存中的coffeescript文件并将其作为javascript运行。呃,实际上有人为coffeescript写了一个解释器,但是这个解释器是用javascript或coffeescript编写的,因此也必须在JS引擎中运行。而且,它的速度很慢,因为它是一个解释器而不是JIT编译器。
正如我所说的,只需使用coffee
命令。
据我所知,只有一个CoffeeScript解释器不能编译成JavaScript:Poetics。
它用纯Ruby编写,直接在Rubinius VM上运行CoffeeScript代码。但是,自从5月份以来它一直没有更新,而且与官方的CoffeeScript实现完全不同。
简单地安装和运行CoffeeScript自带的解释器有什么问题?
在这里阅读本指南的安装部分:http://jashkenas.github.com/coffee-script/#installation
,然后用它是这样的:
还是我失去了你的问题的某些方面?
我相信提问者正在寻找一种运行CoffeeScript而不使用JS作为中间语言的方法,当然''咖啡'在后台执行。 –
如果你不想跑与coffee
命令脚本,您可以在hashbang随时添加到脚本顶部:
#!/usr/local/bin/coffee
只要将文件设置为可执行文件( chmod +x foo.coffee
),现在你可以无需在终端指定的coffee
命令运行它:
$ ./foo.coffee
这似乎没有实际的工作。它仍然由于某种原因被解释为bash。你能证实这对你有用吗?谢谢 – thebuckst0p
这真的让我发疯 - 它不工作。为什么??我不知道。我找到的解决方案是说'#!/ usr/bin/env node/path/to/coffee-script/bin/coffee',这是一件令人讨厌的事情。 – flow
它不适用于我..在Mac OS 10.9.2上运行 – JustGoscha
不能直接使用coffee
作为一个脚本解释器,因为它已经是一个脚本。但是你可以通过编写一个简单的C包装解决这个问题:
#include <unistd.h>
int main(int argc, char *argv[]) {
execvp("coffee", argv);
}
编译,并把它放在你的PATH的地方(我把它叫做klatsh
),然后把#!/usr/bin/env klatsh
在顶部(或任何你叫它)您脚本,你很好去。
是,只需使用:
$ coffee test.coffee
Output from coffee!
我想我也看到了一个纯粹的JS一个对GH和咖啡邮件列表。 – thejh