我正在开发节点/快递应用
println(poll.valueForKey("title"))
现在,如果我对$> ./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)
EADDRINUSE
问题
index.js
但是,现在它似乎重新启动,但新代码未加载
答案 0 :(得分:6)
使用它:
supervisor -- -r 'babel/register' index.js
并删除server.close
代码。
答案 1 :(得分:3)
我对babel-node
(或nodemon
)内运行supervisor
的所有解决方案的效果感到非常失望。所以我建立了这个:
https://github.com/kmagiera/babel-watch
您可以按如下方式使用它(可能在您的package.json
脚本部分中):
babel-watch -w src src/main.js
不同之处在于,不是在每次文件更改时重新启动整个babel-node
进程(在我的MBP上花费1.5秒),它在父进程中运行babel
并启动“纯”{{1}使用脚本启动时提供的所有已编译的JS文件进行处理。
答案 2 :(得分:2)
答案 3 :(得分:1)
有很多工具可以做到这一点。看看这篇文章: Restart node upon changing a file
Maby最常见的是主管: https://github.com/petruisfan/node-supervisor
答案 4 :(得分:1)
用于此目的的最常用工具是nodemon,forever和supervisor。你可以通过npm安装它们。对于其他任务,如css预处理器,缩小,测试运行等。您可以使用任务管理器,如Grunt或Gulp
答案 5 :(得分:1)
使用此supervisor -- -r 'babel-register' index.js
因为Error: Cannot find module 'babel/register'.
检查了模块后,我认为它已更改为babel-register
并且它适用于我