[英]Nest Error - ERROR [ExceptionHandler] Nest can't resolve dependencies of the AuthService (?, JwtService)
我正在嘗試用於用戶身份驗證的 JWT 服務出現問題
錯誤 [ExceptionHandler] Nest 無法解析 AuthService (?, JwtService) 的依賴項。 請確保索引 [0] 處的參數 UsersService 在 AuthModule 上下文中可用。
這是 auth.module
import { Module } from "@nestjs/common"
import { JwtModule } from '@nestjs/jwt';
import { UsersModule } from "../users/users.module";
import { AuthService } from "./auth.service"
import { PassportModule } from "@nestjs/passport";
import { AuthController } from './auth.controller';
import { MongooseModule } from "@nestjs/mongoose"
import { UserSchema } from "users/schemas/users.schema";
import { LocalStrategy } from './local.auth';
@Module({
imports: [UsersModule, PassportModule, JwtModule.register({
secret: 'secretKey',
signOptions: { expiresIn: '60s' },
}), MongooseModule.forFeature([{ name: "Users", schema: UserSchema }])],
providers: [AuthService, LocalStrategy],
controllers: [AuthController],
})
export class AuthModule { }
這是 App.module
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersModule } from './users/users.module';
import { MongooseModule } from '@nestjs/mongoose';
import { KpiModule } from './kpi/kpi.module';
import { AuthModule } from './auth/auth.module';
@Module({
imports: [
MongooseModule.forRoot('mongodb://127.0.0.1:27017/vstkpi?readPreference=primary'),
UsersModule,
KpiModule,
AuthModule
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
和用戶服務
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { User } from 'users/interfaces/users.interface';
@Injectable()
export class UsersService {
constructor(@InjectModel('Users') private readonly userModel: Model<User>) {}
//Get all users
async getUsers(): Promise<User[]> {
const users = await this.userModel.find().exec();
return users
}
//Get single user
async getUser(query: object ): Promise<User> {
return this.userModel.findOne(query);
}
async addUser(
firstname: string,
lastname: string,
jobtitle: string,
startdate: string,
password: string,
email: string): Promise<User> {
return this.userModel.create({
firstname,
lastname,
jobtitle,
startdate,
password,
email
});
}
}
我曾嘗試重新排序進口等,但它沒有觸發該錯誤
添加了用戶模塊
import { Module } from '@nestjs/common';
import { UsersService } from './users.service';
import { UsersController } from './users.controller';
import { UserSchema } from 'users/schemas/users.schema';
import { MongooseModule } from '@nestjs/mongoose';
@Module({
imports: [
MongooseModule.forFeature([{ name: 'Users', schema: UserSchema }])
],
providers: [UsersService],
controllers: [UsersController]
})
export class UsersModule { }
您沒有從UsersModule
模塊導出UsersService
,因此該提供程序對其他模塊不可見。
只需將其添加到UsersModule
配置中:
exports: [UsersService]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.