首页 > 解决方案 > Angular 中的操作系统环境变量

问题描述

我知道 Angular 中的 environment.ts 文件,但我最终会将敏感数据提交到我的 git 存储库中。在 Java 中,我可以只引用可以在我的服务器上设置的操作系统环境变量。

在我们公司,CI 对我们所有的应用程序进行 docker 处理并将它们推送到 OpenShift 中,这意味着我无法访问文件系统,所以我不能只是手动将生产 environment.ts 放在那里。

有谁知道如何获取操作系统环境变量?

标签: javascriptangulartypescriptdockerenvironment-variables

解决方案


如果您将 Angular 应用程序与 webpack 捆绑在一起,则可以使用webpack.DefinePlugin

plugins: [
    new webpack.DefinePlugin({
        "some_variable": JSON.stringify(process.env.SOME_ENV_VAR || "my_default_value")
    })
]

然后你可以在你的角度应用程序中引用“some_variable”。您可以在typings.d.ts文件中声明它们以便识别它们。

declare const some_variable: string

您始终可以拥有一个 Web 服务,该服务也可以通过 api 调用为您提供这些变量。


推荐阅读