2017-08-14 5 views
1

私はVisual Studio2017でangular-cliベースのプロジェクトを持っています。この設定では以下のリンクに従っています。 http://candordeveloper.com/2017/04/12/how-to-use-angular-cli-with-visual-studio-2017/Visual Studio Pre Buildイベントのngビルドの変更を監視することはできますか?

私は私のビルド前のイベントでは、次のしている:

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

私は、Visual Studioでプロジェクトをビルドまたはリビルド時にこれが正常に動作します。これは、angle-cli.jsonに基づいて、出力ディレクトリにバンドルファイルを生成します。

しかし、Visual Studio内からng buildの変更を監視する方法が必要です。 Prebuildイベントでng build --watchを試しましたが、この変更を行った後、ビルドプロセスが停止しました。すべての正しいバンドルファイルで生成された出力ディレクトリを見ることができますが、ビルドプロセスはVisual Studio 2017で完了しません。

回避策別のコマンドウィンドウでng build --watchを実行していません。これは、TypeScript、HTML、CSSの変更と再構築を(予期したとおりに)動作し、監視します。私はすでに私のtsconfig.jsonで"compileOnSave": trueを持っていますが、ng buildとしてその同じではありません。しかし、Visual Studioの内部で2017年

これを統合したいと思います。おかげさまで

答えて

2

誰もがまだ答えを探しているならば、これは私がVStudioでビルド前イベントに追加したものです:

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

それは新しいCMDウィンドウを開き、NGのビルドプロセスを開始し、保持します変更を待っています。デバッグセッションが終了したら、cmdウィンドウを終了させる必要があります。それ以外の場合は、次回F5を押すたびに新しいcmdウィンドウが開きます

+0

あなたの提案をありがとう! –

+0

@ santiago、今度はcmdウィンドウを開始し、変更が完了したら再コンパイルします。今すぐ再コンパイルした後、別のディレクトリに出力をコピーする必要があります。ファイルをコピーする別のプロセスを追加する方法はありますか? – JenonD

+0

@ JenonD、_'ng build'_は、アプリケーションを出力フォルダにコンパイルします(デフォルトで_dist_)。この動作を変更するには、_angular-cli.json_ファイルを変更します。アプリ内でoutDirプロパティを探します。 –

1

Visual Studioでビルドイベントの一部として機能しない理由は、ビルドプロセスを進める前にVisual Studioがスクリプトの終了を待っているからです。見ていると、Angular CLIビルドプロセスの一部として変更を常に監視するため、スクリプトは「終了」しません。

個人的にこれを自動化しようとしています。

+0

なぜ時計付きビルドがVisual Studioにフックできないのかを明確にしてくれてありがとうございます。 –

+0

お願い、Pawan Pillai、下の私の答えをチェックしてください。よろしく。 –

関連する問題