angular - 无法在服务中加载配置文件 - 供应商 js 65401
问题描述
它在注入组件时效果很好。服务注入出现问题。
我正在为端点使用运行时配置。它在组件中工作。我可以在运行时进行更改,但在注入其他全局服务时会引发错误
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`);
});
});
}
}
在 app 模块中提供 app 初始化器:
providers: [
AppConfigService,
{ provide: APP_INITIALIZER,useFactory: initializeApp, deps: [AppConfigService], multi: true},
export function initializeApp(appConfigService: AppConfigService) {
return (): Promise<any> => {
return appConfigService.load();
}
}
与应用服务集成时出现错误。无法加载配置文件。但它适用于组件。
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);
}
参考链接:参考网址
App.settings - Angular 方式? 在 Angular 6 中 加载配置文件 在 Angular 2 中加载配置 JSON 文件
解决方案
推荐阅读
- android - build.gradle:如何解决“无法解决依赖关系”错误?
- html - html5画布上下文在整页中模糊
- c++ - 如何在 C++ 中应用对字符串变量进行计数的概念
- swift - Swift MailCore2 GTMAppAuth 允许不太安全的应用程序访问
- sql - 计算一个值大于 x 的时间(以分钟为单位)
- angular - 操作 CREATE_SUCCES 后重定向
- php - 有什么方法可以使用 PHp Strom 忽略“缺少文件文档注释”Yii2?
- sql - Sql to linq 按大小写条件转换
- strace - Gammu 在 strace 下运行时有不同的行为
- raster - 如何在 DEM-Raster 中添加涵洞?