gpt4 book ai didi

javascript - 如何在文件更改时重新启动 Node 服务器

转载 作者:搜寻专家 更新时间:2023-10-31 22:56:23 25 4
gpt4 key购买 nike

我正在开发一个 Node/快速应用

$> ./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();
})

但是现在好像重启了,但是新的代码没有加载

最佳答案

使用这个:

supervisor -- -r 'babel/register' index.js

并删除 server.close 代码。

关于javascript - 如何在文件更改时重新启动 Node 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32155932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com