我知道 Angular 中的 environment.ts 文件,但我最终将敏感数据提交到我的 git 存储库中。在 Java 中,我可以只引用我可以在我的服务器上设置的操作系统环境变量。
在我们公司,CI 对接我们所有的应用程序并将它们推送到 OpenShift 中,这意味着我无权访问文件系统,所以我不能只是手动将生产环境 .ts 放在那里。
有人知道如何获取操作系统环境变量吗?
最佳答案
有一个服务于配置的 API,并从 Angular 检索它
app.get("/api/config/default", function(req, res) { res.send({ a: process.env["A_VAR"] }); })
让您的后端生成 Angular 常量
app.get("/generated-config.js", function(req, res) { res.send( "angular.module('myApp').constant('MY_CONFIG'," + "{'a': \"" + process.env["A_VAR"] + "\"" + "})" ); });
为此您可以使用 ng-constant . 我更喜欢这种方法,因为阻止依赖于此配置的 Angular Controller 和服务变得非常容易。就我而言,后端生成此文件并将其与其余静态文件一起提供。
关于javascript - Angular 中的操作系统环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51191273/