我正在努力学习NodeJS框架。我已经为此初始化了一个项目,现在我正在尝试添加身份验证以确保HTTP访问的安全。我遵循NestJS文档,但在AuthService中注入UsersService时出现以下错误:
[Nest]14876-2020年4月13日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:Model({}
但我不知道如何解决这个问题。我的培训项目存储在github:上
https://github.com/afontange/nest-js.git
我读过其他关于同一主题的票,但我不知道解决我问题的办法是什么。
谢谢你的帮助。
export const UsersSchema = new Schema({
name: String,
});
Module({
imports: [
MongooseModule.forFeature([{ name: 'Users', schema: UsersSchema }]) // add
],
controllers: [],
providers: [],
exports: []
})导出类AuthModule{}
您是否在Auth.module.ts 中添加
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 {}