编译时与运行时环境变量覆盖

时间:2021-06-14 19:01:46

标签: node.js angular azure docker

我知道在 Angular 中你可以有多个环境文件,每个文件都有各自的变量,如下所示:

environment.ts
environment.local.ts
environment.prod.ts

当我需要使用正确的变量构建应用程序时,我只需要使用 angular CLI 传递 --env

$ ng build --env local
$ ng build --env prod

但是,我读到当使用 docker 或部署到 PaaS 解决方案时,如 Azure Web APPs,最好的解决方案是使用各自的解决方案方式来处理环境变量,如使用 --env 运行容器标志,像这样:

docker run --env VAR1=value1 --env VAR2=value2

这里是我有疑问的地方,angular 是否会使用来自系统环境变量的值覆盖变量文件?在这种情况下,最佳做法是什么?我确实理解将环境变量硬编码到 docker 容器中是不好的,因为如果您需要更改一个特定变量,则必须重建整个映像。

0 个答案:

没有答案
相关问题