【发布时间】:2015-08-22 12:08:29
【问题描述】:
我正在开发一个 node/express 应用程序
$> ./node_modules/babel/bin/babel-node.js index.js
现在,如果我对 index.js 或任何其他依赖项进行更改,我想重新加载应用程序。我怎样才能做到这一点。我想我必须为此使用gulp,但我仍然想就如何做到这一点(使用哪些模块等)获得一些建议
更新:我刚刚使用supervisor 进行了测试,但是当发生变化时,我收到以下错误:
$> /node_modules/.bin/supervisor --exec ./node_modules/babel/bin/babel-node.js index.js
crashing child
Starting child process with './node_modules/babel/bin/babel-node.js index.js'
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Server._listen2 (net.js:1146:14)
at listen (net.js:1172:10)
at Server.listen (net.js:1257:5)
更新:我刚刚尝试了nodemon,但我遇到了与supervisor 相同的错误:
$> nodemon --exec ./node_modules/babel/bin/babel-node.js index.js --watch libs
...
22 Aug 16:58:35 - [nodemon] restarting due to changes...
22 Aug 16:58:35 - [nodemon] starting `./node_modules/babel/bin/babel- node.js index.js`
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Server._listen2 (net.js:1146:14)
at listen (net.js:1172:10)
更新:我通过将以下内容添加到 index.js 解决了 EADDRINUSE 问题
process.on('exit', () => {
server.close();
})
process.on('uncaughtException', () => {
server.close();
})
process.on('SIGTERM', () => {
server.close();
})
不过,现在好像重启了,但是没有加载新代码
【问题讨论】:
-
你可以使用 nodemon - github.com/remy/nodemon 或永远 - github.com/foreverjs/forever
标签: javascript node.js gulp