Ano*_*kar 4 angular-cli angular
我通常在environment.ts文件中设置API URL 。我必须将同一内部版本部署到具有不同API URL的多个客户端。目前,在更改环境变量之后,我将进行单独的构建。
构建后有什么方法可以编辑环境变量,因此我可以为每个客户端提供相同的构建?
我研究了这个问题,这是我不使用的解决方案 environment.ts
我在json文件中定义了全局设置。因为如果我们在ts文件中定义,如果在生产模式下构建,则不容易找到要更改值的常量。
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
}
}
Run Code Online (Sandbox Code Playgroud)
在应用程序文件夹中,我添加文件夹configs / setting.json
setting.json中的内容
{
"baseUrl": "http://localhost:52555"
}
Run Code Online (Sandbox Code Playgroud)
在应用程序模块中添加 APP_INITIALIZER
{
provide: APP_INITIALIZER,
useFactory: (setting: SettingService) => function() {return setting.getSetting()},
deps: [SettingService],
multi: true
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我可以baseUrl更轻松地更改json文件中的值。
| 归档时间: |
|
| 查看次数: |
882 次 |
| 最近记录: |