一、关于 NestJS 中的服务

  • Nestjs 中的服务可以是 service 也可以是 provider。他们都可以通过 constructor 注入依赖关系。服务本质上就是通过@Injectable() 装饰器注解的类。在 Nestjs 中服务相 当于 MVC 的 Model

image.png

二、NestJS 中创建和使用服务

1、创建服务
  1. nest g service user

2、使用服务

  • 1、需要在根模块引入并配置 ```typescript // src/app.module.ts import { Module } from ‘@nestjs/common’; import { AppController } from ‘./app.controller’; import { AppService } from ‘./app.service’; import { ArticleController } from ‘./article/article.controller’; import { NewsService } from ‘./news/news.service’; // 引入新建的 service 服务 import { NewsController } from ‘./news/news.controller’;

@Module({ imports: [], controllers: [AppController, ArticleController, NewsController], providers: [AppService, NewsService], // 注入新建的 service 服务 }) export class AppModule { }

  1. - 2、在用到的地方引入并配置
  2. ```typescript
  3. import { Controller, Get, Render } from '@nestjs/common';
  4. import { NewsService } from './news.service'; // 引入news.service
  5. @Controller('news')
  6. export class NewsController {
  7. // 注入 news 的 service 依赖
  8. constructor(private readonly newsService: NewsService) { }
  9. @Get()
  10. @Render('default/news') // 指定模板
  11. index() {
  12. return {
  13. // 在这里就可以拿到news.service中的数据
  14. newsList: this.newsService.findAll()
  15. }
  16. }
  17. }