繁体   English   中英

Spring Boot + Angular 4:自动重新编译前端

[英]Spring Boot + Angular 4 : Automatically recompile frontend

我正在使用gradle开发Angular4 + Spring Boot Java Web应用程序。 我已经按照此链接中所述设置了gradle任务。 我可以通过运行./gradlew bootRun启动整个Web应用程序-Java和./gradlew bootRun编译,然后网站进行编译。

在学习角度4时,我注意到通过nodejs启动服务器时,您可以编辑打字稿文件和其他文件,并且前端会自动重新编译,甚至浏览器也会刷新自身。

我不确定如何在我的spring boot / gradle设置中获得相同的行为。 我相信这是buildClientWatchbuildClientDev任务的目的。 设置是让buildClientDev作为buildClientDev的依赖buildClientDev运行,但是我无法更改前端并提供新文件。 也许是因为文件被复制并从src/main/resources/static ,老实说,我不确定这些文件为什么要去那里。 为什么不让他们进入webapp文件夹?

我还尝试在单独的终端中手动运行buildClientWatch ,但这似乎并没有执行任何操作,尽管它确实可以打印出并标识出文件正在更改。

这是一个包含构建的示例项目 (请注意分支)。

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)

请尝试使用spring boot devtools库。 与客户端重新编译任务一起使用它。有关更多信息,请参阅https://spring.io/blog/2015/06/17/devtools-in-spring-boot-1-3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM