是否可以在 Visual Studio Pre Build 事件中添加对 ng build 更改的监视?

Is it possible to add watch for changes in ng build in Visual Studio Pre Build events?

我在 Visual Studio 2017 年有一个基于 angular-cli 的项目。我按照下面的 link 进行此设置并且它有效。 http://candordeveloper.com/2017/04/12/how-to-use-angular-cli-with-visual-studio-2017/

我的预构建事件中有以下内容:

echo "cd $(SolutionDir)" &&^
cd "$(SolutionDir)" &&^
echo "Building Project" &&^
ng build &&^
echo 'copy files' &&^

当我在 Visual Studio 中构建或重建项目时,这工作正常。它根据 angular-cli.json.

在我的输出目录中生成捆绑文件

但我需要一种方法来从 Visual Studio 内部观察 ng build 的变化。我在 Pre Build 事件中尝试了 ng build --watch,但在进行此更改后,我的构建过程卡住了。我可以看到输出目录生成了所有正确的捆绑文件,但构建过程从未在 Visual Studio 2017 年完成。

作为变通方法,我没有在 运行 ng build --watch 中使用单独的命令 window。这有效并观察 TypeScript、HTML、CSS 更改和重建(如预期)。但想将其整合到 Visual Studio 2017.

注意:我的tsconfig.json中已经有"compileOnSave": true,但它与ng build不同。 谢谢。

我认为它不能作为 Visual Studio 构建事件的一部分工作的原因是 Visual Studio 在继续构建过程之前等待脚本完成。观看时,脚本从不 "finishes" 因为它在 Angular CLI 构建过程中不断监视变化。

个人希望自己实现自动化。

如果有人仍在寻找答案,这就是我在 VStudio 中添加到预构建事件中的内容:

powershell start-process "cmd " """/k ng build --watch"""

它打开了一个新的cmd window,启动了ng构建过程并一直等待更改。当然,完成调试会话后,您必须终止 cmd window。否则,它将在您下次按 F5

时打开一个新的 cmd window