$ npm i -g @nestjs/cli
$ nest new project-name    

安装nest js

  • 分为三个模块 :
  • Service
  • Module
  • Controller
    • Controller:传统意义上的控制器,提供 api 接口,负责处理路由、中转、验证等一些简洁的业务;
    • Service:又称为 Provider, 是一系列服务、repo、工厂方法、helper 的总称,主要负责处理具体的业务,如数据库的增删改查、事务、并发等逻辑代码;
    • Module:负责将 Controller 和 Service 连接起来,类似于 namespace 的概念;

controller.ts@Controller()写入 lesson-1,这样的话就表示当前文件中,所有的路由都有了前缀 lesson-1

新增模块

nest g [文件类型] [文件名] [文件目录(src目录下)]
nest g service user logical
nest g controller user logical
nest g module user logical

我们要将module封装:

import { Module } from '@nestjs/common';
import { UserService } from './user.service';
import { UserController } from './user.controller';

@Module({
  controllers: [UserController],
  providers: [UserService],
  exports: [UserService],
})
export class UserModule {}

然后要将module 引入到 app.module.ts

// src/app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
// import { UserService } from './logical/user/user.service';
// import { UserController } from './logical/user/user.controller';
import { UserModule } from './logical/user/user.module';

@Module({
  imports: [UserModule],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

这样一个框架就搭配好了