当使用npm run all时,可以优雅地关闭



在我的开发环境中,我使用npm-run-all(run-p(并行运行两个npm脚本:wach模式下的typescript编译器;以及我的服务器和nodemon。当我达到CTRL+C时,我正试图优雅地关闭服务器,但似乎SIGINTSIGTERM都没有被捕获。有人能认出问题出在哪里吗?

我在Windows、npm-run-all@^4.1.5nodemon@^2.0.20上使用Node v18.3.0。

(我也尝试过使用concurrently,但遇到了同样的问题…(

package.json:

"scripts": {
"build": "tsc",
"start": "node --enable-source-maps ./dist/index.js",
"dev": "npm run build && run-p dev:*",
"dev:build": "tsc -w",
"dev:run": "nodemon ./dist/index.js"
}

/dist/index.js:

const shutdown = () => {
httpServer.stop()
socketServer.stop()
}
process.once('SIGINT', shutdown)
process.once('SIGTERM', shutdown)

NPM会吞下SIGTERM/SIGINT信号,因此要优雅地关闭应用程序,请不要使用npm run,而是使用node本身

相关内容

  • 没有找到相关文章

最新更新