如何让 ng build 观看多个应用程序?

How to make ng build watching multiple apps?

我需要使用 watch 选项构建 2 个应用程序(New1 和 New2),因此这 2 个应用程序中的任何文件更改都会导致重新构建。

ng build New1 && ng build New2 工作正常,我可以看到在 /dist 目录下构建的两个应用程序, 但我无法让 ng build --watch 以同样的方式工作。到目前为止我试过:

1) ng build New1 && ng build New2 --watch 构建两个应用程序,但随后只监视 New2。 如果我对 New1 进行更改,构建不会再次发生。

2) ng build New1 --watch && ng build New2 --watch 只构建 New1 应用并观看它。

3) ng build New1 --output-path dist/New1 && ng build New2 --output-path dist/New2 --watch 构建两个应用程序,但随后只观看 New2。

4) ng build New1 --output-path dist/New1 --watch && ng build New2 --output-path dist/New2 --watch 只构建 New1 应用并观看它。

有没有办法在一行中使用 build --watch 来处理 2 个应用程序?

感谢您的建议。

Angular CLI: 6.2.4
Node: 10.11.0
OS: win32 x64
Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.8.4
@angular-devkit/core         0.8.4
@angular-devkit/schematics   0.8.4
@schematics/angular          0.8.4
@schematics/update           0.8.4
rxjs                         6.2.2
typescript                   2.9.2

ng build New1 --watch && ng build New2 --watch 不起作用的原因是第一个构建需要在第二个开始之前完成。

我的解决方案?只需打开两个终端,每个 运行 一个 build --watch。如果您使用的是 VS Code 的内置终端,它们将位于两个不同的选项卡中,但可以一起使用。

编辑:计划 B

假设您在 Windows 上,start 命令会打开一个新终端并且 returns。

所以你可以使用它,它应该工作得很好:

start ng build New1 --watch && start ng build New2 --watch

如果您尝试同时 运行 2 个电话,我建议使用 concurrently 套餐:

https://www.npmjs.com/package/concurrently

合并通话非常容易。您将向 package.json 添加一个新脚本并组合 2 个命令。以下尚未使用您的代码进行测试,因此请阅读文档:

"build:concurrent": "concurrently \"ng build New1 --watch\" \"ng build New2 --watch\"",

然后您将 运行 在终端中使用 npm run build:concurrent