【问题标题】:How to use system environment variables in angular如何在角度中使用系统环境变量
【发布时间】:2020-11-22 04:45:44
【问题描述】:

我一直在使用spring boot,它有一个很好的特性,可以在属性文件中使用系统环境变量,现在我想使用系统环境变量来设置后端服务器的url。我不确定这在 Angular 中是如何工作的。

例如。 BACKEND_URL=http://somerandomurl

我不想在配置文件中硬编码服务器 url。我想做类似 apiurl=$(BACKEND_URL)

这是因为我将在部署时使用 Kubernetes。

【问题讨论】:

    标签: angular environment-variables


    【解决方案1】:

    您可以使用 Angular environment.ts 文件来配置您的后端 URL。事实上,您可以根据需要分配多个后端 url。例如(产品、开发、质量保证)

     // environment.ts
        export const environment = {
          production: false,
          baseUrl: 'http://localhost:3333'
        };
        
     // environment.prod.ts
        export const environment = {
          production: true,  
          baseUrl: 'https://jsonplaceholder.typicode.com'
        };
    
     // environment.qa.ts
        export const environment = {
          production: true,  
          baseUrl: 'https://jsonplaceholder.typicode.com'
        };
    

    然后您可以使用您喜欢的相关环境构建 Angular 项目。 Angular 将在构建时根据传递的参数分配基本 url。

    ng build --configuration=prod
    ng build --configuration=qa
    

    从这里我附上官方角度文档的参考链接,说明如何做到这一点here。

    还请在此处找到实际演示。请参考 stackblitz 示例here 及其相关文章here。

    【讨论】:

    • 部署应用前不知道url怎么办?就像我不想将 url 硬编码到配置文件中一样
    • 然后你需要从 api 获取 url 并将其设置在你的 store 或 localStorage 中并在你的应用程序中使用它@VivekGupta
    猜你喜欢
    • 2014-04-13
    • 1970-01-01
    • 2014-06-07
    • 2014-11-10
    • 2020-05-29
    • 1970-01-01
    • 2017-01-18
    • 2018-12-15
    • 2015-08-20
    相关资源
    最近更新 更多