Skip to main content

๐Ÿ‘ฉโ€๐Ÿ’ป ้—œๆ–ผ NestJS

่ชž่จ€โ€‹

ๅœจ NestJS ๆก†ๆžถๅบ•ไธ‹๏ผŒๆˆ‘ๅ€‘ๅฐ‡ไฝฟ็”จ TypeScript ไพ†ๅš็‚บไธป่ฆ็ทจๅฏซ็š„่ชž่จ€

็’ฐๅขƒโ€‹

# ๅฎ‰่ฃ 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();

REFโ€‹

NestJS ๅฎ˜็ถฒ

ๆขๅคงๅ“ฅ ๆ•™ๅญธ