首页 > 解决方案 > AWS ECS 替换 Dockerize Angular 应用程序中的环境变量

问题描述

我正在尝试在 AWS ECS 任务定义内的 dockerized Angular 应用程序中更新/覆盖环境变量。

在 Spring Boot 中,我声明了变量并在 AWS ECS 任务定义中覆盖它并且工作正常:

@Value("${APP_ONE_URI:http://localhost:8010/api/stock/}")
    private String url;
...
ResponseEntity<Stock> stockEntity = restTemplate.getForEntity(url + "{stock}", Stock.class, getUriVariables(instrument));

我想在 Angular 应用程序中做同样的事情。在 Angular 中声明变量以便我可以在 AWS ECS 任务定义中覆盖它的最佳实践是什么?

谢谢

标签: angulardockeramazon-ecs

解决方案


您无法在 Angular 应用程序中访问系统环境变量。请记住一件事,您只能在 Angular 应用程序构建之前注入环境变量。与 Nodejs 不同,您不会获得实时访问权限,因为您是在浏览器环境中运行的。

所以解决方法是在容器启动时构建应用程序,然后您将能够访问任务定义环境变量。

您可以检查此链接以在构建时注入环境变量。


推荐阅读