javascript - NestJS 无法解析 AuthServices 的依赖关系

标签 javascript node.js typescript nestjs typeorm

first problem with JWT_MODULE_OPTION 之后,回到我认为我已经解决的老问题。事实证明,当我“修复”旧问题时,使用 JWT 创建了新问题。

所以又无法编译:

Nest 无法解析 AuthService(?、RoleRepository、JwtService)的依赖项。请确保索引 [0] 处的参数在 AppModule 上下文中可用。 +25 毫秒

这真的很奇怪,因为这种方式在我的另一个项目上工作并且无法理解我错在哪里。这是 auth.service.ts:

@Injectable()
export class AuthService {
    constructor(
        @InjectRepository(User) private readonly userRepo: Repository<User>,
        @InjectRepository(Role) private readonly rolesRepo: Repository<Role>,
        private readonly jwtService: JwtService,
    ) { }

它获得了 Angular 色和 jwtService 但问题出在 User 上,路径是正确的。这是app.module.ts:

@Module({
  imports: [
    TypeOrmModule.forRootAsync({
      imports: [ConfigModule, AuthModule],
      inject: [ConfigService],
      useFactory: async (configService: ConfigService) => ({
        type: configService.dbType as any,
        host: configService.dbHost,
        port: configService.dbPort,
        username: configService.dbUsername,
        password: configService.dbPassword,
        database: configService.dbName,
        entities: ['./src/data/entities/*.ts'],
      }),
    }),
  ],
  controllers: [AppController, AuthController],
  providers: [AuthService],
})
export class AppModule { }

controllers & providers 有相同的编译错误&不明白哪里出了问题...

最佳答案

您可能缺少 TypeOrmModule.forFeature([User]) 导入。通常,所有实体都导入到专用功能模块中。如果您只有一个模块(即 AppModule),除了 forRoot 导入之外,您还需要将 forFeature 导入放在那里。

@Module({
  imports: [
    TypeOrmModule.forRootAsync({...}),
    TypeOrmModule.forFeature([User, Role]),
  ],

关于javascript - NestJS 无法解析 AuthServices 的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57473726/

相关文章:

javascript - 如何使用 Node js 和 babel 保留正确的行号

node.js - Azure 应用服务 Node.js 后端

typescript - 如何使用 Webpack 3、Typescript 和文件加载器加载 index.html 文件?

javascript - 用 react-intersection-observer 开 Jest 测试 react 组件

javascript - 应用程序崩溃并显示 'Accessing object of type which has been invalidated or deleted' 错误消息?

Javascript 在一个 HTML 页面内的页面之间旋转

javascript - escapeEcmaScript percantage 特殊字符

javascript - npm 模块 - 是否可以拆分 bin 和 lib 依赖项?

typescript - 验证 yup 中的 Enum 数组

javascript - Typescript with Webpack - 您可能需要适当的加载器来处理此文件类型,当前没有配置加载器来处理此文件