登录
首页 >  数据库 >  MySQL

Nest 使用 TypeORM 报错“Nest can\'t resolve dependencies of the BookService...”,如何解决?

时间:2024-11-25 13:19:02 490浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Nest 使用 TypeORM 报错“Nest can\'t resolve dependencies of the BookService...”,如何解决?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

Nest 使用 TypeORM 报错“Nest can\'t resolve dependencies of the BookService...”,如何解决?

nest如何使用typeorm

在nest框架中使用typeorm时,常常会遇到报“nest can't resolve dependencies of the bookservice (?). please make sure that the argument bookentityrepository at index [0] is available in the appmodule context.”的错。

以下是导致此问题的一些原因和解决方案:

  • 检查 app.module.ts 中是否错写了控制器和提供器的名称,将其添加到 imports 数组中。
  • 确保 bookentity 模块已被 appmodule 导入。
  • 检查 bookentityrepository 是否正确注入到 bookservice 中。

以下是修改后的代码示例:

app.module.ts

@module({
    imports: [typeormmodule.forroot({
        type: 'mysql',
        host: 'localhost',
        port: 3306,
        username: 'root',
        password: 'root',
        database: 'root',
        entities: [__dirname + '/**/*.entity.{js,ts}'],
        synchronize: true,
        timezone: 'z',
    }), bookmodule],
})
export class appmodule { }

book.module.ts

@module({
  imports: [typeormmodule.forfeature([bookentity])],
  controllers: [bookcontroller],
  providers: [bookservice],
  exports: [bookservice]
})
export class bookmodule { }

book.service.ts

import { InjectRepository } from "@nestjs/typeorm";
import { Repository } from "typeorm";
import { BookEntity } from './book.entity';

@Injectable()
export class BookService {
  constructor(
    @InjectRepository(BookEntity)
    private readonly bookRepository: Repository<BookEntity>,
  ) { }

  async findAll(): Promise<BookEntity[]> {
    return await this.bookRepository.find();
  }
}

进行上述更改后,报错应不再出现。如果仍遇到问题,请确保项目中所有依赖项都已正确安装。

今天关于《Nest 使用 TypeORM 报错“Nest can\'t resolve dependencies of the BookService...”,如何解决?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>