# Build Stage ARG NODE_BASE_IMAGE=node:18-alpine ARG NGINX_BASE_IMAGE=nginx:alpine FROM ${NODE_BASE_IMAGE} AS build-stage WORKDIR /app ARG NPM_REGISTRY=https://registry.npmjs.org/ COPY package*.json ./ RUN npm ci --registry="${NPM_REGISTRY}" --no-audit --no-fund COPY . . RUN npm run build # Production Stage FROM ${NGINX_BASE_IMAGE} AS production-stage # 复制构建产物到 Nginx COPY --from=build-stage /app/dist /usr/share/nginx/html # 复制自定义 Nginx 配置 (处理 SPA 路由) COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]