FROM node:14-alpine AS builder

# 设置工作目录
WORKDIR /app

# 替换Alpine源为国内镜像 + 安装系统依赖
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk add --no-cache python3 make g++

# 复制包文件并设置npm镜像源
COPY package*.json ./
RUN npm config set registry https://registry.npmmirror.com \
    && npm config set disturl https://npmmirror.com/dist \
    && npm config set sass_binary_site https://npmmirror.com/mirrors/node-sass/ \
    && npm cache clean --force

# 安装依赖 (移除冗余的清理操作)
RUN npm install --legacy-peer-deps

# 复制源代码
COPY . .

# 构建应用
RUN npm run build

# 生产阶段
FROM nginx:1.21-alpine

# 替换生产阶段的Alpine源 (可选)
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

COPY --from=builder /app/dist/build/h5 /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 8333
CMD ["nginx", "-g", "daemon off;"]
