gpt4 book ai didi

angular - ng2-intl - 静态解析符号值时遇到错误

转载 作者:太空狗 更新时间:2023-10-29 17:58:49 25 4
gpt4 key购买 nike

我意识到这是一个常见问题,但我想不出一个可行的实现。

我正在使用 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]
})
]
});

异常(exception)情况是:

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

我查看了源代码,它是这样做的(关于如何在 fork 上更改它以使其工作的任何想法?)

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

最佳答案

我以为你更新到新的 ngc 并且它改变了优化然后 forRoot 无法回调 ngModule 注释。

我得到了一个解决类似情况的解决方案,但不能保证。尽管它与 angular/route 相同的方式来导出 forRootforChild.将此配置添加到您的 webpacktsconfig

tsconfig.yourbuild.ts.

"compilerOptions": {
"declaration": true,
"stripInternal": true,
"moduleResolution": "node",
"module": "es2015",
"target": "es5",
"lib": [
"es2015",
"es2017",
"dom"
],
"skipLibCheck": true,
"types": [],
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"sourceMap": true,
"inlineSources": true,
"baseUrl": "./tmp", //set what you base on.
"rootDir": "./tmp", //set what you base on.
"outDir": "dist/"
},
"angularCompilerOptions": {
"annotationsAs": "decorators",
"annotateForClosureCompiler": false,
"strictMetadataEmit": false,
"skipTemplateCodegen": true,
"flatModuleOutFile": "router.js",
"flatModuleId": "@angular/router"
}

关于angular - ng2-intl - 静态解析符号值时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47175562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com