老师, UserService 报错,这里怎么修改?
app.module.ts
import { TypeOrmModule } from '@nestjs/typeorm';
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UserModule } from './module/user/user.module';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: '111111',
database: 'water-drop',
entities: [`${__dirname}/../modules/**/*.entity{.ts,.js}`], // 指定定义数据表的映射文件
logging: true, // 开启日志
synchronize: true, // 同步表结构
autoLoadEntities: true, // 初始化,没有表自动创建表
}),
UserModule,
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}app.controller.ts
import { Controller, Get } from '@nestjs/common';
// import { AppService } from './app.service';
import { UserService } from './module/user/user.service';
@Controller()
export class AppController {
// // 默认示例
// constructor(private readonly appService: AppService) {}
// @Get('/a')
// getHello(): string {
// return this.appService.getHello();
// }
constructor(private readonly userService: UserService) {}
@Get('/create')
async create(): Promise<boolean> {
return await this.userService.create({
name: '水滴超级管理员',
desc: '管理员',
tel: '8800888',
password: '123456',
account: 'admin',
});
}
}app.service.ts
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello World!';
}
}user.module.ts
import { Module, ConsoleLogger } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { User } from './models/user.entity';
@Module({
imports: [TypeOrmModule.forFeature([User])],
providers: [ConsoleLogger],
exports: [],
})
export class UserModule {}user.service.ts
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { User } from './models/user.entity';
import { DeepPartial, Repository } from 'typeorm';
@Injectable()
export class UserService {
constructor(
@InjectRepository(User) private UserRepository: Repository<User>,
) {}
async create(entity: DeepPartial<User>): Promise<boolean> {
const res = await this.UserRepository.insert(entity);
console.log('res', res);
return true;
}
}
11
收起
正在回答
1回答
同学你好,遗漏了模块注入、导出。修改user.module.ts文件:

provider用于把自己模块中的service注入进来。比如user.module.ts中,通过provider,注入user.service.ts。
exports用来导出模块,比如导出UserService,这样其他模块中,才能够使用UserService。比如app.controller.ts中使用了UserService。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星