我正在Nest项目中实现一个简单的身份验证。
当我加上
@UseGuards(AuthGuard('local'))
到我的控制器,我有以下错误:
ERROR [ExceptionHandler] Cannot read property '__guards__' of undefined
at /home/cedric/Bureau/programmation/project_bank/project/node_modules/@nestjs/core/scanner.js:147:152
我遵循了Nest的所有官方文档来做这件事。
我的控制器是
@UseGuards(AuthGuard('local'))
@Post('login')
async login(@Request() req) {
console.log(req.body.username);
return req.body.username;
}
和我的授权卫士
@Injectable()
export class LocalAuthGuard extends AuthGuard('local') {}
2条答案
按热度按时间ni65a41a1#
我认为这是一个依赖版本不匹配的问题。
您需要确保
@nestjs/platform-express
、@nestjs/core
和@nestjs/common
在同一版本中(我相信只有次要的部分才重要)。ee7vknir2#
这确实是依赖项版本不匹配。
我按照以下步骤更新了我的项目:
1.从npm-check-updates库安装ncu:
1.在项目文件夹中运行ncu:
1.更新依赖项:
1.最后,安装更新