[英]NestJS Dependency Injection Error: provider/module is not part of currently processed module
我刚开始使用 NestJS,我想知道解决此错误的最佳方法是什么
Nest cannot export a provider/module that is not a part of the currently processed module (UsersModule). Please verify whether the exported UsersService is available in this particular context.
我正在关注这里的文档,我似乎遇到了障碍。 我的应用程序无法编译,因此无法进一步测试。 我将添加一些文件作为示例。
auth.module.ts
import { Module } from '@nestjs/common';
import { UsersModule } from 'src/users/users.module';
import { AuthController } from './controllers/auth/auth.controller';
import { AuthService } from './services/auth/auth.service';
@Module({
imports: [UsersModule],
controllers: [AuthController],
providers: [AuthService],
exports: [AuthService],
})
export class AuthModule {}
users.module.ts
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { UsersController } from './controllers/users/users.controller';
import { User, UserSchema } from './schemas/user.schema';
import { UsersService } from './services/users/users.service';
@Module({
imports: [
MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
],
controllers: [UsersController],
providers: [
{
provide: 'USERS_SERVICE',
useClass: UsersService,
},
],
exports: [UsersService],
})
export class UsersModule {}
users.service.ts
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { CreateUserDto } from 'src/users/dto/user.dto';
import { User, UserDocument } from 'src/users/schemas/user.schema';
import { IUserService } from './user';
@Injectable()
export class UsersService implements IUserService {
constructor(@InjectModel(User.name) private userModel: Model<UserDocument>) {}
// async code for database modification
}
}
任何帮助将不胜感激! 非常感谢!
UsersService
提供者的令牌是字符串'UsersService'
(或UsersService.name
)而不是'USERS_SERVICE'
因此,只需使用简写语法providers: [UsersService]
或provide:
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.