咖啡脚本编译

Arn*_*psa 22 javascript compilation coffeescript

我正在寻找最简单的方法来自动将咖啡脚本重新编译为JS.

阅读文档,但仍然有麻烦得到我想要的.

我需要它来查看src/任何*.coffee文件修改的文件夹,并将它们编译成串联的javascript文件lib/something.js.

不知何故不能将观看,编译和连接结合在一起.:/

arn*_*rhs 21

咖啡脚本文档提供了一个示例:

观察文件是否有变化,并在每次保存文件时重新编译:

coffee --watch --compile experimental.coffee
Run Code Online (Sandbox Code Playgroud)

如果你想要执行一个特定的脚本,你可以使用linux命令dnotify:http: //linux.die.net/man/1/dnotify

dnotify --all src/ --execute=command
Run Code Online (Sandbox Code Playgroud)

编辑:我在dnotify的--execute部分遇到了一些问题 - 可能是一个bug,但这就是我的工作:

dnotify --all . -e `coffee -o lib/ --join --compile *.coffee`
Run Code Online (Sandbox Code Playgroud)

每次修改文件时都执行编译命令.

如果您使用&符附加命令,如下所示:

dnotify --all . -e `coffee -o lib/ --join --compile *.coffee` &
Run Code Online (Sandbox Code Playgroud)

它将在一个单独的过程中启动.要获取进程ID,您可以使用:

ps ux | awk '/dnotify/ && !/awk/ {print $2}'
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下内容来终止进程:

kill `ps ux | awk '/dnotify/ && !/awk/ {print $2}'`
Run Code Online (Sandbox Code Playgroud)

但如果这是你的目标(按进程名称杀死),你可以通过使用以下更简单的方式来实现:

killall dnotify
Run Code Online (Sandbox Code Playgroud)


小智 7

尝试抖动

https://github.com/TrevorBurnham/jitter

它监视.coffee文件的目录,当它检测到文件已更改时,它会自动将其重新编译为.js

jitter/path/to/coffee/dir/path/to/js/dir

我一直在试用一个使用coffescript和sencha touch的项目,它看起来效果很好.不处理串联问题,但对于只需要自动编译的人来说,它非常简单.