Coffeescript和节点主pipe一起?

我正在使用带有–watch选项的coffeescript来对.coffee文件的更改重buildjavascript。

将它与节点监控器结合起来,以便在编译的JavaScript更改时重新启动节点是否安全?

我担心,当coffeescript重新编译多个文件时,由于primefaces性的原因,它不会健壮。 节点监督员可以跳过这个枪,并重新启动节点检测到第一个文件系统的变化。 是否足够强大,以确认在重新启动节点时还有其他更改?

有没有更好的办法? 理想情况下,我只有一个文件系统观察器重新编译我的咖啡脚本和重新启动节点。

您可以使用nodemon,它甚至有一个延迟function(在几秒钟后重新启动服务器),例如:

nodemon --debug ./server.coffee 80 

nodemon的另一个优点是忽略文件,例如:

 # this is my ignore file with a nice comment at the top /vendor/* # ignore all external submodules /public/* # static files ./README.md # a specific file *.css # ignore any CSS files too 

除此之外,请阅读有关github repo的文档,并观看关于nodemon的这个Nodetutsvideo: http ://nodetuts.com/tutorials/14-some-nodejs-tools.html

创build一个JavaScript启动器,即run.js ,像这样:

 require('coffee-script'); require('./launch'); 

然后用pipe理员和适当的选项运行这个文件:

 supervisor -e "node|js|coffee" run.js 

这在Windows上适用于我。

你可以使用-x选项设置为coffee supervisor 。 这将使它能够以正确的可执行文件运行脚本:

 supervisor -x coffee your-script.coffee 

受Lemming的答复启发。

在我的一些Cakefiles中,比如连接资产的 Cakefiles,我自己做了一些观察,并且每次改变时都会产生一些coffee -co lib src ,然后在subprocess完成时重新启动服务器。 这解决了primefaces性问题。 如果每个.coffee文件同时更改(或者如果您升级coffee运行时),所有的JS文件也会一次更新。

我的工头为中心的解决scheme如下所示:

Procfile.dev

 web: ./node_modules/supervisor/lib/cli-wrapper.js -n exit server.js watch: ./node_modules/iced-coffee-script/bin/coffee --watch --compile server.iced 

然后只是foreman start -f Procfile.dev

然后gitignore生成的.js文件。 我喜欢这种方法,因为它保留了一个不断更新的vanilla JS文件以及我的.iced文件,所以我可以随时检查我的工作(我绝对会在coffeescript中犯错误,我可能不会在香草中)。