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

时间:2017-08-14 00:35:26

标签: javascript angularjs build visual-studio-2017 watch

我在Visual Studio 2017中有一个基于angular-cli的项目。我按照以下链接进行此设置,它可以正常工作。 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的变化。我在预构建事件中尝试ng build --watch,但在进行此更改后,我的构建过程陷入困境。我可以看到使用所有正确的bundle文件生成输出目录,但构建过程永远不会在Visual Studio 2017中完成。

作为解决方法,我没有在单独的命令窗口中运行ng build --watch。这适用于并观察TypeScript,HTML,CSS更改和重建(如预期的那样)。但是想在Visual Studio 2017中集成它。

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

2 个答案:

答案 0 :(得分:4)

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

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

它会打开一个新的cmd窗口,启动ng构建过程并继续等待更改。当然,完成调试会话后必须终止cmd窗口。否则,它会在您下次点击F5时打开一个新的cmd窗口

答案 1 :(得分:2)

我认为它在Visual Studio中不能作为构建事件的一部分工作的原因是Visual Studio在继续构建过程之前等待脚本完成。在观看时,作为Angular CLI构建过程的一部分,脚本永远不会“完成”,因为它会不断监视更改。

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