【问题标题】:Environment: How to make apiBaseUrl dynamic?环境:如何使 apiBaseUrl 动态化?
【发布时间】:2022-10-17 15:30:43
【问题描述】:

如果我的应用程序处于生产模式,我希望我的 API 的基本 URL 为 https://example.com/。如果不是,它应该是 http://localhost:8080/。

环境.prod.ts

export const environment = {
  production: true,
  apiBaseUrl: 'https://example.com/'
};

环境.ts

export const environment = {
  production: false,
  apiBaseUrl: 'http://localhost:8080/'
};

现在,如果我在服务中使用environment,它会要求我导入../environment/environment../environments/environment.prod

我怎样才能让它导入需要的那个?如果是生产模式,导入environment.prod,如果不是,导入environment

【问题讨论】:

  • 您仅在需要时导入 ../environment/environment。当您进行生产构建时,该文件将被替换。文档中明确概述:angular.io/guide/build

标签: angular


【解决方案1】:

angular.json 你有这个部分

    "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ],

这是为你做的工作

【讨论】:

    【解决方案2】:

    如果我的应用程序需要部署在生产服务器上,那么我们需要环境.prod.ts如果您只需要测试或在本地系统上工作,那么您需要环境.ts.

    并且这两个文件都应该保留在环境文件夹,我们可以定义基本网址用于调用 api

    为了环境.prod.ts

    export const environment = {
      production: true,
      apiBaseUrl: 'https://example.com/'
    };
    

    在这里你可以看到你什么时候需要你需要的生产服务器生产关键应该是真的否则你可以保留 false

    为了环境.ts

    export const environment = {
      production: false,
      apiBaseUrl: 'http://localhost:8080/'
    };
    

    环境.ts基本上用于本地环境,所以在这里你应该放生产键为假。

    祝你好运

    【讨论】:

      【解决方案3】:

      角.json文件您必须在下面添加。

      "fileReplacements": [
                  {
                    "replace": "src/environments/environment.ts",
                    "with": "src/environments/environment.prod.ts"
                  }
                ],
      

      祝你好运

      【讨论】:

        猜你喜欢
        • 2023-03-28
        • 2013-05-24
        • 2020-07-07
        • 1970-01-01
        • 2021-09-19
        • 2019-12-26
        • 2018-07-01
        • 2019-09-07
        • 2013-07-25
        相关资源
        最近更新 更多