nest在运行时报错,下面是我的代码,第一次写nest,想问问是哪里有什么问题吗?请多多指教
ERROR [ExceptionHandler] Nest can't resolve dependencies of the BookService (?). Please make sure that the argument BookEntityRepository at index [0] is available in the AppModule context.
Potential solutions:
- If BookEntityRepository is a provider, is it part of the current AppModule?
- If BookEntityRepository is exported from a separate @Module, is that module imported within AppModule?
@Module({
imports: [ /* the Module containing BookEntityRepository */ ]
})
app.module.ts
import { Module } from '@nestjs/common';
import { BookService } from './book/book.service';
import { BookModule } from './book/book.module';
import { BookController } from "./book/book.controller";
import { TypeOrmModule } from "@nestjs/typeorm";
@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,
],
controllers: [BookController],
providers: [BookService],
})
export class AppModule {
}
book.module.ts
import { Module } from '@nestjs/common';
import { BookController } from './book.controller';
import { BookService } from "./book.service";
import { BookEntity } from "./book.entity";
import { TypeOrmModule } from "@nestjs/typeorm";
@Module({
imports: [TypeOrmModule.forFeature([BookEntity])],
controllers: [BookController],
providers: [BookService],
exports: [BookService]
})
export class BookModule {
}
book.controller.ts
import { Body, Controller, Get, Post, Query } from '@nestjs/common';
import { BookService } from "./book.service";
@Controller('book')
export class BookController {
constructor(private readonly bookService: BookService) {
}
@Get('findAll')
findAll() {
return this.bookService.findAll()
}
}
book.service.ts
import { InjectRepository } from "@nestjs/typeorm";
import { Repository } from "typeorm";
@Injectable()
export class BookService {
constructor(
@InjectRepository(BookEntity)
private readonly bookRepository: Repository<BookEntity>,
) {
}
async findAll(): Promise<BookEntity[]> {
return await this.bookRepository.find()
}
}
我觉得你可以把 app.module 里边的 controllers 和 providers 删掉试试
顺便推销一下 我自己写的 nestjs-starter 模板 https://github.com/chenc041/n...