无法在服务中加载配置文件-供应商js 65401 [英] Could not load the config file in service - vendor js 65401
问题描述
在注入组件时效果很好.服务注入中出现问题.
我正在为端点使用运行时配置.它可以在组件中工作.我可以在运行时进行更改,但是在向全局注入其他服务时会抛出错误
导出类AppConfigService {静态设置:IAppConfig;构造函数(私有http:HttpClient){}加载() {const jsonFile =`../assets/config/config.json`;返回新的Promise< void>((解决,拒绝)=> {this.http.get(jsonFile).toPromise().then((response:IAppConfig)=> {AppConfigService.settings =< IAppConfig>响应;console.log('Config Loaded');console.log(AppConfigService.settings);解决();}).catch((response:any)=> {reject(`无法加载配置文件`);});});}
}
在应用程序模块中提供应用程序初始化符:
提供者:[AppConfigService,{提供:APP_INITIALIZER,useFactory:initializeApp,deps:[AppConfigService],multi:true},导出函数initializeApp(appConfigService:AppConfigService){return():Promise< any>=>{返回appConfigService.load();}}
与应用程序服务集成时出现错误.无法加载配置文件.但是它可以在组件中工作.
身份验证服务从"app/app-config.service"导入{AppConfigService};
@Injectable({providerIn:'root'})导出类AuthService {apiServer = AppConfigService.settings.apiServer;构造函数(私有httpClient:HttpClient){console.log(this.apiServer.link1);}
参考链接:参考网址
App.settings-角度方式?在Angular 6中加载配置文件在Angular 2中加载配置JSON文件
我为您添加了一个示例:
https://stackblitz.com/edit/angular-pkuwef?file=src/app/app.module.ts
https://github.com/misanche/angular-pkuwef/ >
It works fine in injecting into components. problem occurs in service injection.
I am using runtime configuration for end points.it works in components.i can able to change in runtime but throws an error when injecting in other services global
export class AppConfigService {
static settings: IAppConfig;
constructor(private http: HttpClient) {}
load() {
const jsonFile = `../assets/config/config.json`;
return new Promise<void>((resolve, reject) => {
this.http.get(jsonFile).toPromise().then((response : IAppConfig) => {
AppConfigService.settings = <IAppConfig>response;
console.log('Config Loaded');
console.log( AppConfigService.settings);
resolve();
}).catch((response: any) => {
reject(`Could not load the config file`);
});
});
}
}
in the app module provide app intializers:
providers: [
AppConfigService,
{ provide: APP_INITIALIZER,useFactory: initializeApp, deps: [AppConfigService], multi: true},
export function initializeApp(appConfigService: AppConfigService) {
return (): Promise<any> => {
return appConfigService.load();
}
}
when integrate with app service have the error. could not load the config file. But it works in a component.
auth.service import { AppConfigService } from 'app/app-config.service';
@Injectable({
providedIn: 'root'
})
export class AuthService {
apiServer = AppConfigService.settings.apiServer;
constructor(private httpClient: HttpClient) {
console.log(this.apiServer.link1);
}
Reference link :reference url
App.settings - the Angular way? Loading configuration files in Angular 6 Load Config JSON File In Angular 2
Hi I have added you an example:
https://stackblitz.com/edit/angular-pkuwef?file=src/app/app.module.ts
https://github.com/misanche/angular-pkuwef/
这篇关于无法在服务中加载配置文件-供应商js 65401的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!