Concurrency 当webpack监视触发时,如何运行并发脚本? 背景
我目前有一个npm脚本,看起来像Concurrency 当webpack监视触发时,如何运行并发脚本? 背景,concurrency,npm,build,webpack,npm-scripts,Concurrency,Npm,Build,Webpack,Npm Scripts,我目前有一个npm脚本,看起来像 “dev”:“纱线安装和并发-k \”npm运行网页\“cd dist/&&node App.js \“npm运行测试\”npm运行lint \” 从逻辑上讲,这将并行运行webpack、启动应用程序、lints和测试 该脚本中的npm webpack具有--watch set 注意:这是为开发人员准备的 问题 这将尝试在应用程序进行网页打包之前运行该应用程序 这将不会在因观看而重新打包网页包时重新运行应用程序 目标 运行npm运行网页一次 当它输出(意
“dev”:“纱线安装和并发-k \”npm运行网页\“cd dist/&&node App.js \“npm运行测试\”npm运行lint \”
从逻辑上讲,这将并行运行webpack、启动应用程序、lints和测试
该脚本中的npm webpack具有--watch set
注意:这是为开发人员准备的
问题
- 这将尝试在应用程序进行网页打包之前运行该应用程序
- 这将不会在因观看而重新打包网页包时重新运行应用程序
- 运行
npm运行网页一次
- 当它输出(意味着手表启动并完成)时,运行其他三个命令
- 当某个文件崩溃时,请通知我,不要浪费时间运行不起作用的东西,但请在我修复该文件时重试
这是一篇关于这个“应该”如何发展的很好的教程/指南/博客文章。以下是我要做的;也许有更好的方法:
"scripts": {
"dev": "yarn install && concurrently -k \"npm run webpack\" \"npm run watch\"",
"watch": "onchange \"dist/**/" -- concurrently -k \"cd dist/ && node App.js\" \"npm run test\" \"npm run lint\""
}
这使用了npm运行dev
并行启动webpack和onchange。onchange监视dist/
中的任何文件更改,并在任何文件更改时运行任务
这种方法的局限性在于,在dist
中更改文件之前,任务不会运行。在运行webpack之前,您可以通过删除dist/
来解决此问题。(用于以跨平台方式执行此操作。)示例:
如果您不关心Windows支持,您可以使用rm-rf dist
"dev": "yarn install && rimraf dist && concurrently -k \"npm run webpack\" \"npm run watch\""