Angular 4 + webpack + spring mvc (not boot) 在tomcat上集成部署

标签 angular spring-mvc

最近我学习了 Angular 4 并想将它用于我的 Spring MVC web 应用程序。

我可以单独使用两者,但很难将它们放在一起,因为它作为一个应用程序运行,并具有适当的 spring 安全性。

有人可以告诉我应该如何实现它。 Internet 上的所有示例都使用 Spring Boot 并作为一个单独的模块。

最佳答案

诀窍是将 Angular CLI 的构建目标设置为“target/classes/static”,然后告诉 Spring 从那里提供资源(Spring Boot 会自动执行此操作)。

更详细(使用 Maven 时):

  1. 创建 3 个 Maven 模块:后端(使用您的 Java 应用程序)、前端(使用您的 Angular 应用程序)、webapp(将两者都引用为依赖项)
  2. 在前端将 .angular-cli.json 中的“outDir”更改为“target/classes/static”
  3. 在前端使用Maven Frontend Plugin调用 npm install/npm run build
  4. 在你的 webapp 模块中 add a Spring resource handler对于类路径:/static

您也可以在一个模块中完成所有这些工作,但我更喜欢将前端和后端分开。

您可以在此处查看我们的工作示例(使用 Spring Boot):https://github.com/porscheinformatik/angular-spring-heroes

关于Angular 4 + webpack + spring mvc (not boot) 在tomcat上集成部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45758997/

相关文章:

angular - 如何在 Rxjs 6 中测试 ngrx 管道选择

session - Spring Security session JSESSIONID

java - Spring controller(A).method 调用了 controller(B).method 但发现空模型

java - ZonedDateTime 作为 Spring REST RequestMapping 中的 PathVariable

java - ResourceBundleMessageSource 中的嵌套属性

angular - 如何捕捉 Material Datepicker 月份分页事件?

javascript - Angular 性能 - 管道与 setter/getter

angular - 以 Angular 导入包的更好方法

java - CallableStatement.close() 会导致性能问题

java - spring - jSTL - 错误 404 - 请求的资源不可用