所有环境中组件的Baseurl

时间:2019-03-25 08:34:08

标签: angular

我必须在window.open()中调用一个登录链接,在这里我将把我的返回URL作为查询字符串参数提供给它,然后返回到该URL。返回URL我为它创建了一个单独的组件,一个临时组件,显示“请稍候”。组件的URL是

url = location.origin+ "/milesConfirm"

问题是当我进行部署(正常和生产)时,它没有回到该组件。有没有办法针对所有环境使用通用基本URL来执行此操作。请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以在Assets文件夹中添加setting.json文件,在ng build之后,转到setting.json更改后端URL。

export class SettingService  {

  constructor(private http: HttpClient) {

  }

  public getJSON(file): Observable<any> {
      return this.http.get("./assets/configs/" + file + ".json");
  }
  public getSetting(){
      // use setting here
  }
}

在应用程序文件夹中,我添加文件夹configs / setting.json

setting.json中的内容

{
    "baseUrl": "http://localhost:52555"
}

在应用模块中添加APP_INITIALIZER

{
      provide: APP_INITIALIZER,
      useFactory: (setting: SettingService) => function() {return setting.getSetting()},
      deps: [SettingService],
      multi: true
    }

引用此链接 Angular: Is it possible to read a json file after building