5.nestjs cli
通过 cli 创建 nestjs 项目
npm i -g @nestjs/cli
nest new [项目名称]
启动项目
{
"start": "nest start",
"start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main",
}
目录介绍
main.ts入口文件
// main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
// 创建Application实例
const app = await NestFactory.create(AppModule);
// 监听 3000 端口
await app.listen(3000);
}
bootstrap();
控制器
// app.controller.ts
import { Controller, Get } from '@nestjs/common';
@Controller('cats')
export class CatsController {
@Get()
findAll() {
return 'This action returns all cats';
}
}
路由
// app.module.ts
import { Module } from '@nestjs/common';
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller() // 路由前缀
export class AppController { // 控制器
constructor(private readonly appService: AppService) {} // 注入服务
@Get()
getHello(): string {
return this.appService.getHello(); // 调用服务
}
}
服务
AppService可以复用逻辑 抽离Controller 使其业务逻辑和路由进行分离
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello World!';
}
}