装饰器不支持函数表达式,请考虑将函数表达式更改为和导出函数

  • 本文关键字:函数 表达式 不支持 angular typescript
  • 更新时间 :
  • 英文 :


我收到此错误:在"AppModule"的模板编译过程中出错 "ɵ0"中的装饰器不支持函数表达式 'ɵ0' 包含 app/app.module.ts(40,22( 中的错误 请考虑将函数表达式更改为导出的函数。

它说位于这段代码中:

@NgModule({
declarations: [
AppComponent,
HomeComponent,
ProfileComponent,
LoginComponent,
RegisterComponent,
LoadingOverlayComponent,
LoadingComponent,
TrendsComponent
],
imports: [
BrowserModule,
AppRoutingModule,
ReactiveFormsModule,
HttpClientModule,
JwtModule.forRoot({
config: {
tokenGetter: function tokenGetter() {
return localStorage.getItem('token');
}
}
})
],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: RefreshJwtInterceptor, multi: true },],
bootstrap: [AppComponent]
})
export class AppModule { }

我搜索了这个问题,但我似乎找不到与我情况相同的人。

尝试像这样导出内联函数 tokenGetter:

export function tokenGetter() {
return localStorage.getItem('token');
}
@NgModule({
declarations: [
AppComponent,
HomeComponent,
ProfileComponent,
LoginComponent,
RegisterComponent,
LoadingOverlayComponent,
LoadingComponent,
TrendsComponent
],
imports: [
BrowserModule,
AppRoutingModule,
ReactiveFormsModule,
HttpClientModule,
JwtModule.forRoot({
config: {
tokenGetter
}
})
],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: RefreshJwtInterceptor, multi: true },],
bootstrap: [AppComponent]
})
export class AppModule { }

有关 Angular AOT 的更多信息

最新更新