有或没有 tsconfig 目标 es5 的 NestJS 和 TypeORM 问题
Posted
技术标签:
【中文标题】有或没有 tsconfig 目标 es5 的 NestJS 和 TypeORM 问题【英文标题】:NestJS and TypeORM issue with or without tsconfig target es5 【发布时间】:2019-09-21 00:53:12 【问题描述】:根据 NestJS 身份验证教程,我复制粘贴了 JwtStrategy
类,但该类在构建时抛出错误
类代码是
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy)
constructor(private readonly userRepo: UserRepository)
super(
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: 'secretKey'
);
在 tsconfig.json 文件中使用 target=es5 我得到的错误
现在,如果我将目标更改为 es6,错误就会消失,但是 typeorm 多对多关系开始抛出错误
TypeORM 类用户得到了令牌,令牌类得到了用户,它会抛出下面的错误
我已创建存储库以重现 this 链接处的错误
运行以下命令查看错误
ng s --project=api
【问题讨论】:
你能和我们分享你的模型吗?从错误中我会说你的模型中有循环依赖。 是的,这是循环依赖错误,但这就是 typeorm 中实体的设计方式。如果我使用 es5 目标,我不会收到该错误,但如果我使用 es6 目标,那么我会开始收到它。 我的问题中有 repo 链接,可以轻松下载和执行。它也有你正在寻找的课程 【参考方案1】:您正在混合使用nest v5 和nest v6,但不保证不同的主要版本可以正常互操作,例如:
"@nestjs/core": "5.5.0",
"@nestjs/jwt": "^6.0.0",
请将您的@nestjs
依赖项全部更新到migration guide 之后的版本6。
【讨论】:
不工作,我使用 nrwl 创建了新项目,然后替换了我的旧包 json,但它没有工作以上是关于有或没有 tsconfig 目标 es5 的 NestJS 和 TypeORM 问题的主要内容,如果未能解决你的问题,请参考以下文章