我正在开发一个 Angular 7 项目,该项目需要在不同的服务器上运行。我需要从环境文件中读取服务器 URL,并且无法设置为静态变量。
我尝试读取 JSON 文件,但一旦我ng build该项目,它将 JSON 的内容复制为 main.js 中的静态值
构建项目后是否可以动态读取 JSON 文件?就像从 env.json 中读取一样,我可以在构建项目后将其放入
我在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
设置.json中的内容
{
"baseUrl": "http://localhost:52555"
}
在应用程序模块中添加 APP_INITIALIZER
{
provide: APP_INITIALIZER,
useFactory: (setting: SettingService) => function() {return setting.getSetting()},
deps: [SettingService],
multi: true
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)