首页 > 解决方案 > Nest.js 无法解析依赖项

问题描述

我正在尝试ConfigService在我的中使用,users.module.ts但我得到了一个

错误:Nest 无法解析 UsersService 的依赖项(UserRepository、HttpService、?)。请确保索引 [2] 处的参数 ConfigService 在 UsersModule 上下文中可用。

潜在的解决方案:

我已经在我的 UsersModule 中导入了 ConfigModule 但它仍然无法正常工作:(

app.module.ts

@Module({
  imports: [
    ConfigModule.forRoot({
      expandVariables: true,
    }),
    TypeOrmModule.forRoot(),
    UsersModule,
    AuthModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})

export class AppModule {}

users.module.ts

import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [ConfigModule, HttpModule, TypeOrmModule.forFeature([User])],
  controllers: [UsersController],
  providers: [UsersService],
  exports: [UsersService],
})

export class UsersModule {}

users.service.ts

export class UsersService {

 constructor(
    @InjectRepository(User)
    private readonly userRepository: Repository<User>,
    private readonly httpService: HttpService,
    private readonly configService: ConfigService,
  ) {}

}

标签: typescriptnestjsnestjs-config

解决方案


您仍然需要在users.module.ts. 参考下面的例子。

app.module.ts

@Module({
  imports: [
    ConfigModule.forRoot({
      expandVariables: true,
    }),
    TypeOrmModule.forRoot(),
    UsersModule,
    AuthModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})

export class AppModule {}

users.module.ts

import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [ConfigModule, HttpModule, TypeOrmModule.forFeature([UserRepository])],
  controllers: [UsersController],
  providers: [UsersService, ConfigService],
  exports: [UsersService],
})

export class UsersModule {}

希望这可以帮助。

谢谢。


推荐阅读