angular - 如何在 Angular 2 应用程序启动之前读取配置文件?

标签 angular

在 Angular 2 框架渲染任何组件或服务之前,我需要来自 json 文件的一些配置数据。我还没有找到任何好的工作解决方案来实现这一目标。

我使用 Angular 2 RC6 在与 Angular 1 的混合模式下工作,因此我使用升级适配器来执行引导。

您有什么想法可以实现我的需求吗?

最佳答案

查看此博客:https://www.cidean.com/blog/2019/initialize-data-before-angular-app-starts/

它使用APP_INITIALIZER在应用启动之前 Hook AppConfigService并获取数据。另请参阅博客以了解 AppConfigService 的实现。

import { NgModule, APP_INITIALIZER } from '@angular/core';
import { AppConfigService } from './services/app-config.service';

export function appInit(appConfigService: AppConfigService) {
  return () => appConfigService.load();
}

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),
  ],
  providers: [AppConfigService,
    {
      provide: APP_INITIALIZER,
      useFactory: appInit,
      multi: true,
      deps: [AppConfigService]
    }],
  bootstrap: [AppComponent]
})
export class AppModule { }

关于angular - 如何在 Angular 2 应用程序启动之前读取配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39493925/

相关文章:

javascript - 表单控件 : Pristine attribute is not being updated?

html - 没有 ngmodel 指令 Angular 两种方式数据绑定(bind)

Angular 2 + Auth0(找不到模块 'auth0-js' 的声明文件。)

angular - 如何使用 Angular Cli 运行 tslint?

angular - 在 Angular 2 中格式化日期时间

javascript - Angular2 Pipes - 货币缩写

html - CSS 在 ASP.NET 样板中不起作用

node.js - Angular2 BrowserSync 双向 SSL

html - 如何在具有空值的 Angular 选择元素上使用默认 "please select"选项进行验证?

javascript - asObservable 主题的缺点