npm-scripts - 从控制台“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"
}
解决方案
我做了一些研究,发现了这个: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
推荐阅读
- c++ - 土壤图像尺寸
- spring-boot - Activiti BPM 任务信息
- objective-c - 无法使用 PDFKit iOS 11 保存 pdf 表单数据
- spock - 如何在 Spring Boot 中使用 testcontainers 正确运行 spock 测试
- python - 如何为 Window 10 Maya 2017 python 编译 python c 扩展?
- python - Python 2.7 - 从字典键值一次执行中在 MySql 中插入多个值
- javascript - 为什么我在 node.. 中运行的这个 .js 文件中遇到 foreach 未定义错误,我该如何解决?
- python - TypeError : 装饰槽没有与 doubleClicked(QModelIndex) 兼容的信号
- jvm - JVM逐步模拟器
- python - 如何将模型导入我的 django 项目中的 python 文件?