21 lines
641 B
Docker
21 lines
641 B
Docker
FROM node:24-alpine AS builder
|
|
WORKDIR /app
|
|
|
|
COPY package.json ./
|
|
|
|
# 直接使用 npm install 并解决依赖问题
|
|
RUN npm install --no-audit --no-fund --legacy-peer-deps
|
|
|
|
# 拷贝源码并构建
|
|
COPY . .
|
|
|
|
# 【前端修改】如果要以子路径 /app-product/ 部署,请用 base 指定前缀,同 .env中VITE_SERVER_NAME
|
|
RUN npx vite build --base=/app-product/
|
|
|
|
FROM nginx:alpine
|
|
# 构建产物放到 /usr/share/nginx/html/app-product
|
|
COPY --from=builder /app/dist /usr/share/nginx/html/app-product
|
|
# 覆盖 Nginx 配置,支持 SPA 子路径
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
EXPOSE 80
|
|
CMD ["nginx", "-g", "daemon off;"] |