在main.ts中
// 使用全局过滤器
app.useGlobalGuards(new AuthGuard());
在app.module.ts 中我初始化了redis
这时候,authguard访问不了redis: An argument for 'redisService' was not provided.
这里我应该怎么搞呢。
多谢·
回复 (2)
Y
全局 pipe/guards/interceptor 这些独立于模块之外, 所以注入的时候找不到 redisService. nest 5.0 以下可以 select 模块让他找到,
const authGuard = app
.select(XXXModule)
.get(XXXGuard/Pipe/Interceptor);
app.useGlobalGuards(authGuard);
以上的版本, 没玩过, 官网找了找 如下, 你可以试试 传送门
Y
引用 yviscool全局 pipe/guards/interceptor 这些独立于模块之外, 所以注入的时候找不到 redisService. nest 5.0 以下可以 select 模块让他找到, 以上的版...
@yviscool 感谢,这种方式可以~
我理解,这时候的guard 其实是归属于app模块的,app里面注入了,所以可以使用。不知道我的理解对不对~
参与回复
登录后即可参与回复。登录