๐ฉโ๐ป ้ๆผ NestJS
่ช่จโ
ๅจ NestJS ๆกๆถๅบไธ๏ผๆๅๅฐไฝฟ็จ TypeScript ไพๅ็บไธป่ฆ็ทจๅฏซ็่ช่จ
็ฐๅขโ
- ๅฎ่ฃ Node (>= 16) nvm ๅฎ่ฃ
- NestJS CLI
# ๅฎ่ฃ CLI
npm i -g @nestjs/cli
ๅปบ็ซๅฐๆกโ
ๅปบ็ซโ
# ๅปบ็ซๅฐๆก
nest new [project-name]
ไฝฟ็จ TypeScript ๅ่ฝโ
# ๅปบ็ซๅฐๆก
nest new [project-name] --strict
ๅปบ็ซๅ ฌ็จ libโ
# ๅปบ็ซๅฐๆก
cd [project-name]; nest g lib ${library-name}
ๅฐๆกๆถๆงโ
็ฎ้็ตๆงโ
src
โโapp.controller.spec.ts
โ
โโapp.controller.ts
โ
โโapp.module.ts
โ
โโapp.service.ts
โ
โโmain.ts
ๆชๆก่ชชๆโ
| ๆชๆก | ๆ่ฟฐ |
|---|---|
| app.controller.ts | ๅ ทๆๅฎไธ่ทฏ็ฑ็ๅบๆฌๆงๅถๅจ |
| app.controller.spec.ts | ๆงๅถๅจ็ๅฎๅ ๆธฌ่ฉฆ |
| app.module.ts | ๆ็จ็จๅผ็ๆ นๆจก็ต |
| app.service.ts | ๅ ทๆๅฎไธๆนๆณ็ๅบๆฌๆๅ |
| main.ts | ๆ็จ็จๅผ็ๅ ฅๅฃๆชๆก๏ผไฝฟ็จๆ ธๅฟๅฝๆธ NestFactory ๅตๅปบไธๅ Nest ๆ็จ็จๅผๅฏฆไพ |
main.tsโ
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
ๅฏๅๆๅบๅฑคๆกๆถ็บ
expressๆfastify
- ๅๆ็บ express
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create<NestExpressApplication>(AppModule);
await app.listen(3000);
}
bootstrap();
- ๅๆ็บ fastify
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create<NestFastifyApplication>(AppModule);
await app.listen(3000);
}
bootstrap();