# 第一阶段:构建阶段 FROM node:22 AS build-stage # 安装 pnpm RUN corepack enable && corepack prepare pnpm@latest --activate WORKDIR /app # 复制包管理文件 COPY pnpm-lock.yaml .npmrc package.json ./ # 安装依赖(使用 pnpm) RUN pnpm install --frozen-lockfile # 复制项目文件 COPY . . # 构建项目 RUN pnpm run build:prod # 第二阶段:生产阶段 FROM nginx:alpine AS production-stage # 复制构建好的文件到 nginx COPY --from=build-stage /app/dist /usr/share/nginx/html/frontend # 复制自定义 nginx 配置(可选) COPY nginx.conf /etc/nginx/conf.d/default.conf # 暴露端口 EXPOSE 3000 # 启动 nginx CMD ["nginx", "-g", "daemon off;"]