一、起步
// nestjs腳手架安裝
npm install -g @nestjs/cli
// 新建一個項目
nest new demo
二、目錄結(jié)構(gòu)

目錄結(jié)構(gòu)
三、程序入口 main.ts
// NestFactory核心類暴露一些靜態(tài)方法用來創(chuàng)建應(yīng)用實例
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
// create 方法返回一個實現(xiàn) INestApplication 接口的對象
const app = await NestFactory.create(AppModule);
// 端口號為 3000
await app.listen(3000);
}
bootstrap();
四、根模塊 app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
// @Module()裝飾器提供了元數(shù)據(jù),Nest 用它來組織應(yīng)用程序結(jié)構(gòu)
@Module({
// 由 Nest 注入器實例化的控制器
controllers: [AppController],
// 由 Nest 注入器實例化的提供者
providers: [AppService],
// 導(dǎo)入模塊的列表,這些模塊導(dǎo)出了此模塊中所需提供者
imports: [],
// 由本模塊提供并應(yīng)在其他模塊中可用的提供者的子集
exports: []
})
export class AppModule {}
五、提供者 app.serive.ts
import { Injectable } from '@nestjs/common';
// @Injectable() 聲明當前類為提供者 處理業(yè)務(wù)邏輯
@Injectable()
export class AppService {
getHello(): string {
return 'Hello World!';
}
}
六、控制器 app.controller.ts
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
// @Controller() 聲明當期類為控制器 接收應(yīng)用程序的特定請求
@Controller()
export class AppController {
// 依賴注入 AppService
constructor(private readonly appService: AppService) {}
// @Get() HTTP請求方法裝飾器
@Get()
getHello(): string {
return this.appService.getHello();
}
}
七、啟動應(yīng)用程序
npm run start

啟動成功
打開瀏覽器訪問 http://localhost:3000 返回 ’Hello World!‘