回到项目,在 UserController 的 update 方法上面,添加一个 Guard,UseGuards,要用的是 AuthGuard 。
打开 UserModule, 在这个模块里需要导入 AuthModule 模块, 这就会遇到一个依赖循环的问题,因为 AuthModule 模块里面依赖 UserModule 模块,UserModule 模块又依赖 AuthModule 模块,它们都彼此依赖对方。
解决这样的问题可以使用 Nest 提供的 forwardRef, 先用一个 forwardRef ,给它提供一个回调.. 然后让它返回要导入的依赖,这里就是 UserModule 。
同样的方法需要再处理一下 UserModule, 打开 UserModule 模块,在导入这里使用一个 forwardRef,提供一个回调, 返回的是要导入的模块,这里应该是 AuthModule 模块。
这样我们就解决了这个依赖循环的问题。