【问题标题】:Angular + Spring boot Deployment as a warAngular + Spring boot 部署作为一场战争
【发布时间】:2018-08-11 22:35:06
【问题描述】:

我有两个项目,一个是 Angular Project(Front End Application),另一个是 Spring boot (Rest Api's)。

现在我想为这两个项目生成一个可运行的 war/jar 文件,并且在运行“java -jar”命令后它应该启动 Angular 模块以及 spring boot 模块

【问题讨论】:

  • 通过ng build 构建您的Angular 应用程序并将生成的dist 目录放在src/main/resources/static...下。此外,这可以通过使用frontend-maven-plugin...

标签: node.js spring angular maven spring-boot


【解决方案1】:

在后端构建过程中,前端模块构建完成后,您可以将前端构建目录中的内容复制到${project.projectDir}/src/main/resources/static/,这样两个模块就可以打包到一个jar中。下面是一个使用 Gradle 的示例:

task moveFrontendToResources(type: Copy) {
    from "../frontend/build/"
    into "${project.projectDir}/src/main/resources/static/"
}

moveFrontendToResources.dependsOn(':frontend:bundle')
processResources.dependsOn(moveFrontendToResources)

【讨论】:

  • angular 项目中的“npm install”命令如何执行该命令......并且没有“npm install”依赖项(node_modules 文件夹)将不会被下载和“angular 4/ 5" 模块不工作
  • 您应该定义这些任务以使用您的构建工具进行管理,然后声明对它们的依赖关系。我真的不知道如何使用 Maven 来做到这一点,但它应该是一种方法。您可以查看shop-finder,我已将项目拆分为两个模块(后端和前端)并在每个模块上定义了一个构建文件。前端定义了捆绑等任务,后者定义了整个构建过程。假设你正在使用它,从那里获取原则并用 Maven 实现它!
  • 你也应该检查frontend-maven-plugin
猜你喜欢
  • 2019-03-23
  • 2017-09-21
  • 1970-01-01
  • 2018-07-05
  • 2019-03-21
  • 2015-10-28
  • 2018-04-12
  • 2016-08-16
  • 1970-01-01
相关资源
最近更新 更多