Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧靴&x2B;角度4:自动重新编译前端_Java_Spring_Angular_Spring Boot - Fatal编程技术网

Java 弹簧靴&x2B;角度4:自动重新编译前端

Java 弹簧靴&x2B;角度4:自动重新编译前端,java,spring,angular,spring-boot,Java,Spring,Angular,Spring Boot,我正在用gradle开发一个Angular4+Spring Boot java web应用程序。我已按照中所述设置了gradle任务。我可以通过运行/gradlew bootRun——java和typescript编译,然后网站编译,来启动整个web应用程序 在学习angular 4时,我注意到当通过nodejs启动服务器时,您可以编辑typescript文件和其他文件,前端会自动重新编译,甚至浏览器会自动刷新 我不知道如何在我的spring boot/gradle设置中获得相同的行为。我相信这

我正在用gradle开发一个Angular4+Spring Boot java web应用程序。我已按照中所述设置了gradle任务。我可以通过运行
/gradlew bootRun
——java和typescript编译,然后网站编译,来启动整个web应用程序

在学习angular 4时,我注意到当通过nodejs启动服务器时,您可以编辑typescript文件和其他文件,前端会自动重新编译,甚至浏览器会自动刷新

我不知道如何在我的spring boot/gradle设置中获得相同的行为。我相信这就是
buildClientWatch
buildClientDev
任务的目的。安装程序将使
buildClientDev
作为bootRun的依赖项运行,但我无法更改前端并提供新文件。也许是因为这些文件是从
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库。 将其与客户端一起使用重新编译任务。有关更多信息,请参阅

IMO,最简单的方法是使用Spring Boot启动后端,使用ng serve启动前端,并将ng服务器配置为后端的代理:为什么您的答案被否决?这不是一个可行的解决方案吗?不知道。这是我向同事建议的解决方案。无论如何,我会亲自尝试并通知你