2017-08-14 51 views
1

我有一個基於angular-cli的項目在Visual Studio 2017中。我按照下面的鏈接進行了這個設置,它工作。 http://candordeveloper.com/2017/04/12/how-to-use-angular-cli-with-visual-studio-2017/是否有可能在Visual Studio Pre Build事件中添加監視ng build中的更改?

我有我的預生成事件如下:

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。這適用於TypeScript,HTML,CSS更改和重建(如預期)。不過想這裏面的Visual Studio 2017集成

注意:我已經在我的tsconfig.json有"compileOnSave": true,但它不是一樣ng build。 謝謝。

回答

2

如果有人還在尋找一個答案,這是我已經添加到預生成事件VStudio:

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

它打開一個新cmd窗口,啓動NG構建過程,並保持等待變化。當然,一旦完成了調試會話,你必須殺死cmd窗口。否則,它會打開一個新的命令行窗口,當你下一次按F5

+0

感謝您的建議! –

+0

@santiago,現在它啓動一個cmd窗口,並在更改完成後重新編譯。現在重新編譯後,我需要將輸出複製到另一個目錄。有沒有辦法讓我可以附加另一個進程來複制文件? – JenonD

+0

@JenonD,_'ng build'_將應用程序編譯到輸出文件夾(默認爲_dist_)。您可以通過修改_angular-cli.json_文件來更改此行爲。尋找應用程序內的outDir屬性。 –

1

我認爲它不作爲Visual Studio中的構建事件的一部分工作的原因是,Visual Studio正在等待腳本完成,然後繼續構建過程。在觀看時,腳本永遠不會「完成」,因爲它始終監視更改,作爲Angular CLI構建過程的一部分。

個人希望自動化這個自己。

+0

感謝澄清爲什麼ng與手錶的構建不能與視覺工作室掛鉤。 –

+0

請Pawan Pillai檢查下面的答案。問候。 –

相關問題