我知道在 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 容器中是不好的,因为如果您需要更改一个特定变量,则必须重建整个映像。