最近我学习了 Angular 4 并想将它用于我的 Spring MVC web 应用程序。
我可以单独使用两者,但很难将它们放在一起,因为它作为一个应用程序运行,并具有适当的 spring 安全性。
有人可以告诉我应该如何实现它。 Internet 上的所有示例都使用 Spring Boot 并作为一个单独的模块。
最佳答案
诀窍是将 Angular CLI 的构建目标设置为“target/classes/static”,然后告诉 Spring 从那里提供资源(Spring Boot 会自动执行此操作)。
更详细(使用 Maven 时):
- 创建 3 个 Maven 模块:后端(使用您的 Java 应用程序)、前端(使用您的 Angular 应用程序)、webapp(将两者都引用为依赖项)
- 在前端将
.angular-cli.json
中的“outDir”更改为“target/classes/static” - 在前端使用Maven Frontend Plugin调用
npm install
/npm run build
- 在你的 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/