老师, 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 星