NestJS为什么无法解析我的UsersService依赖关系?是由于UserModel吗?

时间:2020-04-13 08:06:11

标签: nestjs

我正在尝试学习NodeJS框架。我已经为此初始化了一个项目,现在我试图添加身份验证以保护HTTP访问。我遵循NestJS文档,但是在将我的UsersService注入AuthService时遇到以下错误:

[嵌套] 14876-13/04/2020à09:26:19 [ExceptionHandler] Nest无法解析UsersService(?)的依赖项。请确保在索引[0]处的UserModel参数在AuthModule上下文中可用。

可能的解决方案:
-如果UserModel是提供者,它是否是当前AuthModule的一部分?
-如果UserModel是从单独的@Module导出的,那么该模块是否在AuthModule中导入?
@Module({
导入:[/ *包含UserModel的模块* /]
})
+ 2ms
错误:Nest无法解析UsersService(?)的依赖项。请确保在索引[0]处的UserModel参数在AuthModule上下文中可用。

似乎是由于在我的UsersService中进行了以下注入:

构造函数(@InjectModel('User')私有只读UserModel:模型){}

但是我不知道如何解决这个问题。我的培训项目存储在github上:

https://github.com/afontange/nest-js.git

我阅读了同一主题的其他票证,但我不知道解决问题的办法。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

export const UsersSchema = new Schema({
  name: String,
});


Module({
   imports: [
   MongooseModule.forFeature([{ name: 'Users', schema: UsersSchema }]) // add
  ],
  controllers: [],
  providers: [],
  exports: []

}) 导出类AuthModule {}

您是否添加了Auth.module.ts

答案 1 :(得分:0)

AuthModule如下:

import { Module } from '@nestjs/common';
import { AuthService } from './auth.service';
import { UsersModule } from '../users/users.module';
import { PassportModule } from '@nestjs/passport';
import { LocalStrategy } from './local.strategy';
import { UsersService } from '../users/users.service';

@Module({
  imports: [UsersModule, PassportModule],
  providers: [AuthService, LocalStrategy, UsersService],
})
export class AuthModule {}