如何存储API网址,以便我可以在dist文件夹中轻松更改

时间:2019-05-12 06:47:25

标签: angular api

我需要将我的api-url而不是硬编码存储在我的angularproject中。 以下情况我尝试构建: 用ng --build构建我的角度应用程序后,我会将dist文件夹提供给我的客户。 Angular应用程序是客户必须在其服务器上托管的软件包的一部分。另一部分是.net核心api。

我的问题是每个客户的api-url可能不同。所以我需要一种简单的方法来更改dist文件夹中的此url。类似于api-config.js文件。

什么是最好的服务方式?

2 个答案:

答案 0 :(得分:0)

您可以使用enviroment.ts文件 因此,您可以创建多个enviroment.prod.ts或enviroment.stagging.ts或enviroment.qa.ts

对于v6 +,现在称为angular.json环境。以下是在v6之后添加新的质量检查环境的方法:

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

例如,让我们添加一个服务器URL:

    export const environment = {
      production: false,
      serverUrl: "your server url"
    };

然后您要做的就是为每个环境提供不同的URL

喜欢

import {environment} from '../../environments/environment';

export class AuthService {
  apiUrl: environment.serverUrl
}

然后运行

ng build --configuration=qa

答案 1 :(得分:0)

您可以使用在UI中键入的API网址以超级管理员的身份发出第一个请求,并且由于您是超级管理员并且您正在设置项目,因此您无需先登录。您的第一个设置(添加API-Url)将保存在数据库中,然后,您可以检查是否存在API-Url,因此跳过设置部分并将其重定向到登录页面。