我意识到这是一个常见问题,但我无法找到有效的实施方案。
我正在使用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]
}; } }
答案 0 :(得分:1)
我认为您更新为新的ngc
并且更改了优化,然后forRoot
无法回调ngModule
注释。
我得到了一个解决类似情况的解决方案,但不能保证。尽管它与angular/route
相同,也可以forRoot
和forChild
。将此配置添加到{{1} }为您的tsconfig
。
<强> tsconfig.yourbuild.ts。强>
webpack