@auth0/angular jwt:函数调用在decorators中不受支持,但';JWT模块';被称为

@auth0/angular jwt:函数调用在decorators中不受支持,但';JWT模块';被称为,angular,typescript,jwt,auth0,Angular,Typescript,Jwt,Auth0,我将Angular项目从9升级到10(并将Angular jwt升级到5.0.1版),我构建的Angular库不再编译。相反,它返回一个错误: 错误:“库模块名称”的模板编译过程中出错 decorators中不支持函数调用,但调用了“JwtModule” 我没有更改与JwtModule相关的代码,但是由于某种原因,JwtModule.forRoot()不再被我的库模块的导入所接受。如果删除.forRoot(…)部分,我的库将编译。但是,我错过了我的JwtOptions配置。据我所知,使用.for

我将Angular项目从9升级到10(并将
Angular jwt
升级到5.0.1版),我构建的Angular库不再编译。相反,它返回一个错误:

错误:“库模块名称”的模板编译过程中出错 decorators中不支持函数调用,但调用了“JwtModule”

我没有更改与JwtModule相关的代码,但是由于某种原因,
JwtModule.forRoot()
不再被我的库模块的导入所接受。如果删除
.forRoot(…)
部分,我的库将编译。但是,我错过了我的JwtOptions配置。据我所知,使用
.forRoot()
是确保JwtModule是单例的唯一方法,在任何地方都应用相同的配置

这是升级到Angular 10时中断的实现的问题,还是我只是缺少了什么

我的图书馆模块
考虑到官方的建议,这将是一个糟糕的答案,但对我来说,将
enablevy
更改为
true
成功了。正如一位评论人士所指出的,像这样的问题是由常春藤解决的。但是,对于库,您需要首先构建库。我确实将
enablevy
设置为
false
,所以我没有在我的库中使用Ivy(你不应该在NPM发布的库中使用它!),所以对我来说,在Angular 10项目中使用我的私有库就成功了!因此,我不会用我的答案来解决这个问题。也许当建议改变时(Angular团队为图书馆推荐常春藤时),上述评论会成为更普遍的解决方案。
// the JWT module, for ensuring the JWT is managed properly
import { JwtModule, JwtModuleOptions } from '@auth0/angular-jwt';
// ... more imports in reality

// exported function for the jwt service..
export function jwtTokenGetter() {
  return localStorage.getItem('access_token');
}
const jwtConfig : JwtModuleOptions = {
  config: {
    headerName: 'Jwt-Authorization',
    tokenGetter: jwtTokenGetter,
    allowedDomains: [ 'api.vvtupos.nl', 'login.vvtupos.nl' ]
  }
};

@NgModule({
  declarations: [
    // ... more declarations in reality
  ],
  imports: [
    JwtModule.forRoot(jwtConfig)
    // ... more imports in reality
  ],
  exports: [
    // ... more exports in reality
  ]
})
export class ClubcoreLibraryModule {
  constructor(){
  }
}