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