# --- 阶段一：构建阶段 (Build Stage) ---
FROM registry.cn-chengdu.aliyuncs.com/azysrv/node:16.20.2-buster-slim AS build-stage

ARG BUILD_ENV
ENV NPM_CONFIG_REGISTRY=https://registry.npmmirror.com

# 设置容器内的工作目录
WORKDIR /app
    
# 利用 Docker 缓存机制：先拷贝 package.json
COPY package*.json ./
    
# 安装依赖
RUN npm install
    
# 拷贝所有源代码
COPY . .
    
# 执行打包命令（通常生成 dist 目录）
RUN npm run build
    
# --- 阶段二：生产阶段 (Production Stage) ---
FROM registry.cn-chengdu.aliyuncs.com/azysrv/nginx_npm:1.21 AS production-stage
# --- 阶段二重新声明变量 ---
ARG BUILD_ENV

RUN sed -i 's/8080/4040/' /etc/nginx/conf.d/http.conf
COPY --from=build-stage /app/dist/ /opt/webroot/