目前我正在运行一个后端 springboot 应用程序和一个前端 Angular2 应用程序。
我们不想在本地/开发/验收环境之间切换时更改代码,我们只是想让我们的tomcat知道我们要使用哪个版本的部署。
对于我的后端,我能够遵循本指南 https://www.javacodegeeks.com/2012/06/spring-31-profiles-and-tomcat.html
现在我也想为我的前端 Angular2 应用程序执行此操作,但我真的不知道如何开始或从哪里开始。
谢谢
最佳答案
这可能不是最好的答案,但一种方法可能是这样的:
1) 在您的 package.json 中定义不同的构建目标(为简洁起见,我省略了除输出路径之外的所有选项),它们将使用不同的目录作为输出:
"scripts": {
"build-prod": "ng build --output-path dist-prod",
"build-dev": "ng build --output-path dist-dev"
}
2) 在构建 Servlet 时,让 Maven(或您最喜欢的其他构建工具)构建所有 Angular 变体。确保所有变体都将与您的 servlet 一起部署。
3) 为您的不同环境添加配置,这将根据该环境为正确的路径添加 ResourceHandlers。我还没有使用过 Springboot,所以这是来自常规 Spring MVC Java 配置的片段:
@Configuration
@Profile("dev")
public class DevConfig {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("/dist-dev/")
.resourceChain(true).addResolver(new PathResourceResolver());
}
}
希望这会有所帮助,直到有人有更好的主意。 :-)
关于Angular 2 配置文件和 tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44435590/