![](/img/trans.png)
[英]Nestjs: Use TypeOrm datasource without class dependency injection
[英]nestjs and typeorm - failing to setup the dependency injection
我正在尝试使用nestjs
和typeorm
编写基本的CRUD应用程序,但是我无法使依赖项注入正常工作。 我试图将代码设置数据库放入单独的模块中,然后将其导入。
这是我得到的错误:
[ExceptionHandler] Nest无法解析QuestionController(?)的依赖项。 请确保索引[0]的参数在当前上下文中可用。 + 14ms 4:v8 :: internal :: MaybeHandle v8 :: internal::(匿名命名空间):: HandleApiCallHelper(v8 :: internal :: Isolate *,v8 :: internal :: Handle,v8 :: internal :: Handle, v8 :: internal :: Handle,v8 :: internal :: Handle,v8 :: internal :: BuiltinArguments)[/ usr / local / bin / node]
这是基本的代码结构:
database.module.ts
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'sqlite',
database: 'database.sqlite',
}),
],
})
export class DatabaseModule {
}
question.module.ts
:
@Module({
imports: [
DatabaseModule,
TypeOrmModule.forFeature([Question]),
],
providers: [QuestionDal, QuestionLogic],
})
export class QuestionModule {
}
app.module.ts
@Module({
imports: [QuestionModule],
controllers: [QuestionController],
providers: [],
})
export class AppModule {
}
question.dal.ts
@Injectable()
export class QuestionDal {
constructor(@InjectRepository(Question) private questionRepo: Repository<Question>) { }
}
question.logic.ts
@Injectable()
export class QuestionLogic {
constructor(private questionDal: QuestionDal) { }
}
question.controller.ts
@Controller()
export class QuestionController {
constructor(private readonly appService: QuestionLogic) { }
}
感谢您的帮助或提示
你必须出口QuestionLogic
提供商内部QuestionModule
。
您将能够将其注入导入QuestionModule
其他模块中。
@Module({
imports: [
DatabaseModule,
TypeOrmModule.forFeature([Question]),
],
providers: [QuestionDal, QuestionLogic],
exports: [QuestionLogic]
})
export class QuestionModule {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.