ng2-intl - 静态解析符号值时出错

时间:2017-11-08 09:08:36

标签: angular typescript internationalization angular2-modules

我意识到这是一个常见问题,但我无法找到有效的实施方案。

我正在使用Angular 4.2.6和ng2-intl 2.0.0-rc.3。

我尝试了以下操作,但仍无法正常工作:

export function intlFactory(http:Http) {
  return new IntlStaticLoader(http, '../../locale', '.json');
}

@NgModule({
  imports: [
    IntlModule.forRoot({ 
      provide: IntlLoader,
      useFactory: intlFactory,
      deps: [Http]
    })
  ]
});

例外是:

不支持函数调用,请考虑使用对导出函数的引用替换函数或lambda

我已经看了一下源代码,它就是这样做的(关于如何在fork上更改它的任何想法,以便它可以工作?)

export class IntlModule {   
    static forRoot(providedLoader: any = {
      provide: IntlLoader,
      useFactory: i18nLoaderFactory,
      deps: [Http]   }): ModuleWithProviders {
    return {
      ngModule: IntlModule,
      providers: [providedLoader, IntlService]
    };   } }

1 个答案:

答案 0 :(得分:1)

我认为您更新为新的ngc并且更改了优化,然后forRoot无法回调ngModule注释。

我得到了一个解决类似情况的解决方案,但不能保证。尽管它与angular/route相同,也可以forRootforChild。将此配置添加到{{1} }为您的tsconfig

<强> tsconfig.yourbuild.ts。

webpack