Nest 官方部署文档里强调:
- 先 build
- 得到
dist/ - 用 Node 运行编译产物
- 准备好环境变量和依赖服务
- 可选官方平台 Mau
最基本交付链路:
npm run build
node dist/main.js一个更贴近真实生产的 Docker 交付示意:
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY --from=builder /app/dist ./dist
CMD ["node", "dist/main.js"]类比:
开发期 start:dev = 训练场试运行
生产期 build + dist = 正式开航版本别把开发模式当生产模式。