私はgradleを使ってAngular4 + Spring Boot Java Webアプリケーションを開発しています。私はthis linkで説明されているように私のgradleタスクを設定しました。私は./gradlew bootRun
を実行することによってウェブアプリケーション全体を起動することができます - javaとtypescriptのコンパイルとウェブサイトのコンパイル。Spring Boot + Angular 4:フロントエンドを自動的に再コンパイル
ノード4を学ぶとき、nodejsでサーバーを起動すると、typescriptファイルなどを編集でき、フロントエンドは自動的に再コンパイルされ、ブラウザも更新されることに注意しました。
私は春のブート/グラバー設定でこの同じ動作をどうやって得るのかよくわかりません。私はそれがbuildClientWatch
とbuildClientDev
タスクの目的だと考えています。セットアップはbuildClientDev
をbootRunの依存として実行することですが、フロントエンドを変更して新しいファイルを提供することはできません。おそらくそれはファイルがコピーされてからsrc/main/resources/static
で提供されたからです。私は正直なところ、なぜ彼らがそこに行くのかは分かりません。なぜ彼らはwebapp
フォルダに行かないのですか?
別の端末で手動でbuildClientWatch
を実行しようとしましたが、実際に何もしないようですが、ファイルが変更されていることを確認して印刷するようです。
ここには、ビルドを含むsample project(ブランチに注意してください)があります。
task buildClientDev(type: NpmTask, dependsOn: 'npmInstall')
{
group = 'build'
description = 'Compile client side folder for development'
args = ['run','buildDev']
}
task buildClient(type:NpmTask, dependsOn:'npmInstall')
{
group = 'build'
description = "Compile client side folder for production"
args = ['run','build']
}
task buildClientWatch(type: NpmTask, dependsOn: 'npmInstall')
{
group = 'application'
description = "Build and watches the client side assets for rebuilding"
args = ['run','buildWatch']
}
bootRun.dependsOn(buildClientDev)
jar.dependsOn(buildClient)
を参照してください。最も簡単な方法は、IMO、春ブーツとバックエンドを開始仕えるngのフロントエンドを開始し、にNGサーバを設定することですit.Forと一緒にあなたのクライアントの再コンパイル作業でより多くの情報を、それを使用しますバックエンドのプロキシとして動作します:https://github.com/angular/angular-cli/wiki/stories-proxy –