我有角项目和弹簧靴项目。我已经将两者配置为一个。 这是文件夹结构:
Angular_SpringBoot
-src
-main
-java
-angularweb
-resources
app.properties.
build.gradle
在我的build.gradle文件中,我定义如下,
def webappDir = "$projectDir/src/main/angular-web"
sourceSets {
main {
resources {
srcDirs = ["$webappDir/dist", "$projectDir/src/main/resources"]
}
}
}
processResources {
dependsOn "buildAngular"
}
task buildAngular(type:Exec) {
dependsOn "installAngular"
workingDir "$webappDir"
inputs.dir "$webappDir"
commandLine "ng.cmd", "build", "--prod"
}
task installAngular(type:Exec) {
workingDir "$webappDir"
inputs.dir "$webappDir"
commandLine "npm.cmd", "install"
}
现在,如果我从命令提示符(gradle bootRun)运行项目,则可以构建该项目并可以对其进行访问。 但是,当运行相同形式的spring boot仪表板时,Web项目不会显示在浏览器中。 我想从springboot仪表板运行该项目,例如:如果我在任何angularWeb中进行了任何更改并重新启动,则更改应得到反映(例如ng服务通常会发生-在angularweb中)
我尝试创建包含两个子项目的父项目,即带有两个build.gradle文件的前端和后端,还尝试在angular-cli.json中配置相同的代理。 我关注了 https://dzone.com/articles/building-a-web-app-using-spring-boot-angular-6-and
https://dzone.com/articles/angular-2-and-spring-boot-development-environment
我的属性文件也应该类似于app-dev.propeties,app-prod.properties(不像environment.dev.ts,environment.prod.ts),以便我可以从spring boot属性文件中构建项目(像所有的baseurl一样,构建命令应位于.properties文件中)
这些方法都不适合我。