Supervisor,实现NodeJS的LiveEdit

NodeJS本身就是一个Server + App,所以每次更新一次源码之后就要重新启动一次,身为一个懒人,怎么可以这样呢?查看了NodeJS的帮助文档,发现有一个LiveEdit的experimental feature 是默认开启的。但是怎么看怎么不像是LiveEdit啊…

Google了一下,好像是说LiveEdit的“Live”这个属性并不是很及时1,是有一定的限制条件的。可怜我苦逼了一个上午,稍稍调整一下内容就要切换到命令行下面重启一次Server。

刚刚在stack overflow上闲逛的时候突然发现一个好玩意:node-supervisor2,正是我想要的。安装方式当然还是So easy的npm :

npm install supervisor -g
supervisor -p app.js 

经过测试,在动态编辑目录下面的Server相关的文件之后,它会帮你重启一次。如果你更改的是模板相关的文件,它则不会重启,这个感觉非常不错。另外就算是你编辑出错了,它也会不停的重新尝试重启server。

不过在Express下面,我尝试在路由里面的experts.index弄出错误,Supervisor虽然会将它载入,但是不会报错,直到执行之后,Express才会在页面里面会出现报错。目前不清楚机制是什么。

另外还有一些不错的选择:

NodeJS,搭配上Express,再加上Supervisor,SSJS的开发环境基本上就完成。

Q.E.D.