首页 > 解决方案 > 从控制台“CTRL+C”终止时运行 npm 脚本

问题描述

我想以yarn dev监视模式运行以启动 pm2 和 webpack 进行开发。yarn pm2:del问题是当我手动按下“CTRL+C”终止时,我需要终止 pm2 实例(运行)。怎么做到呢?

包.json:

  "scripts": {
    "dev": "yarn pm2:del && yarn pm2:dev && yarn wp:dev",
    "pm2:dev": "pm2 start ecosystem.config.js --only dev",
    "pm2:del": "pm2 delete all || exit 0",
    "wp:dev": "webpack --mode=development --watch"
  }

标签: npm-scriptsconcurrently

解决方案


我做了一些研究,发现了这个:how to close server on ctrl+c when in no-daemon

pm2 kill && pm2 start ecosystem.json --only dev --no-daemon

如果您单独运行 pm2 但同时运行 2 个程序,它可以工作,因此请尝试以下脚本:

{
    "scripts": {
        "dev": "yarn pm2:del && yarn pm2:dev && yarn wp:dev && yarn pm2:del"
    }
}

它是如何工作的?

  • 首先,杀死所有 pm2 守护进程
  • 启动一个 pm2 守护进程
  • 启动 webpack
  • 最后,再次杀死所有 pm2 守护进程,它会在你按下时运行CTRL + C

推荐阅读