错误 在模板编译期间出错 'AppModule' 装饰器不支持函数调用,但调用了'XXXModule'函数调用



首先,我要提到我已经完成了先决条件,并在谷歌和 S/O 中搜索了解决方案,发现这要么是未更新的 3rd 部分模块上的通用故障错误,要么定义的解决方案没有帮助。我跟着他们仍然无济于事。

我得到:

">

应用程序模块"模板编译期间出错 装饰器不支持函数调用,但调用了"XXXModule"。

我知道我不允许在 NgModule 声明中使用函数,但我在提供程序上明确列出了工厂的使用。除此之外,没有超越forRoot的函数。

有人可以指出我正确的方向吗?

我正在尝试在应用程序模块中注册模块

app.module.ts:

import etc... all done 
@NgModule({
imports: [
XXXModule.forRoot(),
BrowserModule,

xxx.module.ts:


@NgModule({
imports: [
CommonModule,
HttpClientModule
],
providers: [
AuthenticationService,
{ provide: CookieService, useFactory: cookieServiceFactory }
]
})
export class XXXModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: XXXModule,
providers: [
{ provide: XXXConfig, useFactory: xxxFactory}
]
}
}
}

我在同一文件中也有工厂:

export function cookieServiceFactory() { return new CookieService(); }
export function xxxFactory(): XXXConfig{
return {authUrl: `${environment.apiUrl}/api/authorisation`};
}

在一个单独的文件中,我定义了XXXConfig,这很好导入。

export class XXXConfig {
authUrl: string;
}

这个问题已经解决了。代码引用了错误的内部代码。由于它以前被包装过,进口是从不同的地方拉来的。一旦这些在新软件包中得到纠正,它就可以正常工作。

模块的不匹配版本可能会导致此问题。 我对Angular NgxUiLoaderModule有同样的问题。

"错误:在模板编译'AppModule'期间出错 装饰器不支持函数调用,但调用了'NgxUiLoaderModule'。

我有 Angular 11,所以我安装了 ngx-ui-loader@11.0.0 解决了我的问题。 npm i --save ngx-ui-loader@11.0.0

最新更新