|
|
|
@ -16,13 +16,17 @@ RUN pnpm install --force \
|
|
|
|
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
|
|
|
|
# 【新增关键步骤】创建缺失的cancel.svg文件(解决文件不存在错误)
|
|
|
|
# 【新增1】创建缺失的cancel.svg文件(解决文件不存在错误)
|
|
|
|
# 1. 先创建目录(-p确保上级目录不存在时也能创建)
|
|
|
|
|
|
|
|
# 2. 写入极简合法的SVG内容,避免Vite报错
|
|
|
|
|
|
|
|
RUN mkdir -p /app/src/assets/svgs/bpm/ \
|
|
|
|
RUN mkdir -p /app/src/assets/svgs/bpm/ \
|
|
|
|
&& echo '<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0"></svg>' > /app/src/assets/svgs/bpm/cancel.svg
|
|
|
|
&& echo '<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0"></svg>' > /app/src/assets/svgs/bpm/cancel.svg
|
|
|
|
|
|
|
|
|
|
|
|
# 执行生产构建(和你本地的build:prod命令一致)
|
|
|
|
# 【新增2】执行ESLint自动修复(修复vue/no-ref-as-operand错误)
|
|
|
|
|
|
|
|
RUN pnpm eslint --fix /app/src/components/Table/src/Table.vue \
|
|
|
|
|
|
|
|
# 可选:修复整个项目的ESLint错误
|
|
|
|
|
|
|
|
# && pnpm eslint --fix /app/src/
|
|
|
|
|
|
|
|
&& rm -rf /tmp/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 执行生产构建
|
|
|
|
RUN pnpm run build:prod
|
|
|
|
RUN pnpm run build:prod
|
|
|
|
|
|
|
|
|
|
|
|
# 阶段2: 生产运行阶段
|
|
|
|
# 阶段2: 生产运行阶段
|
|
|
|
@ -30,19 +34,15 @@ FROM node:24.7.0-slim
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
|
|
# 【合并3】设置npm镜像源 + 全局安装pnpm + 设置pnpm镜像源
|
|
|
|
|
|
|
|
RUN npm config set registry https://registry.npmmirror.com \
|
|
|
|
RUN npm config set registry https://registry.npmmirror.com \
|
|
|
|
&& npm install -g pnpm \
|
|
|
|
&& npm install -g pnpm \
|
|
|
|
&& pnpm config set registry https://registry.npmmirror.com
|
|
|
|
&& pnpm config set registry https://registry.npmmirror.com
|
|
|
|
|
|
|
|
|
|
|
|
COPY --from=builder /app .
|
|
|
|
COPY --from=builder /app .
|
|
|
|
|
|
|
|
|
|
|
|
# 设置环境变量
|
|
|
|
|
|
|
|
ENV PORT 8088
|
|
|
|
ENV PORT 8088
|
|
|
|
ENV NODE_ENV production
|
|
|
|
ENV NODE_ENV production
|
|
|
|
|
|
|
|
|
|
|
|
# 暴露端口
|
|
|
|
|
|
|
|
EXPOSE 8088
|
|
|
|
EXPOSE 8088
|
|
|
|
|
|
|
|
|
|
|
|
# 启动应用
|
|
|
|
|
|
|
|
CMD ["pnpm", "start"]
|
|
|
|
CMD ["pnpm", "start"]
|