Angular 2 配置文件和 tomcat

标签 angular tomcat spring-boot profiles

目前我正在运行一个后端 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/

相关文章:

angular - 如何更改 Auth0 Lock 中显示的标题标题?

spring-boot - 根据 Spring Boot 中的登录用户更改应用程序的 URL

java - 当 URL 相同时,如何区分 New relic 中的 GET 和 PUT 请求事务?

Tomcat 服务器上的 JavaEE 单例

spring - 如何在 Spring Boot 应用程序中使用禁用连接池?

javascript - @input 双向绑定(bind)不起作用

angular - filter(...).toArray 不是函数

angular - 是否可以使用 angular-cli 构建单独的 CSS 文件?

java - 如何使用 @ConfigurationProperties 和 @Autowired 测试类

java - Spring Data、REST 和 ManyToMany 关系