Concurrency 当webpack监视触发时,如何运行并发脚本? 背景

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运行网页一次 当它输出(意

我目前有一个npm脚本,看起来像

“dev”:“纱线安装和并发-k \”npm运行网页\“cd dist/&&node App.js \“npm运行测试\”npm运行lint \”
从逻辑上讲,这将并行运行webpack、启动应用程序、lints和测试

该脚本中的npm webpack具有--watch set

注意:这是为开发人员准备的

问题
  • 这将尝试在应用程序进行网页打包之前运行该应用程序
  • 这将不会在因观看而重新打包网页包时重新运行应用程序
目标
  • 运行
    npm运行网页一次
  • 当它输出(意味着手表启动并完成)时,运行其他三个命令
  • 当某个文件崩溃时,请通知我,不要浪费时间运行不起作用的东西,但请在我修复该文件时重试
真正的问题 我不知道我不知道什么。我怀疑真正的答案可能在webpack配置本身,或者对于我的用例,有一个比并发/监视更好的工具,或者关于我如何设计它的核心想法简直是疯了。也许我想创建一个devServer.js,它使用webpack开发中间件来为这些服务?那个么,这将如何吸引皮棉和测试呢

我不知道这个版本会是什么样子

我真正需要的
这是一篇关于这个“应该”如何发展的很好的教程/指南/博客文章。

以下是我要做的;也许有更好的方法:

"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\""