build(Dockerfile): 使用 pnpm 替代 npm 进行包管理
Some checks failed
continuous-integration/drone/push Build is failing

- 安装 pnpm 和全局依赖
- 更新包管理配置,使用 pnpm 安装开发期依赖
- 修改构建命令为 pnpm run build
- 更新启动命令为 pnpm start
- 调整相关文件名以适应 pnpm
This commit is contained in:
lixin 2025-01-10 13:02:23 +08:00
parent eecc828ac0
commit 1387bf0090

View File

@ -1,4 +1,3 @@
FROM node:lts-alpine FROM node:lts-alpine
WORKDIR /app WORKDIR /app
@ -15,19 +14,24 @@ ENV TZ="Asia/Shanghai"
# 如果各公司有自己的私有源可以替换registry地址,如使用官方源注释下一行 # 如果各公司有自己的私有源可以替换registry地址,如使用官方源注释下一行
RUN npm config set registry https://registry.npmmirror.com RUN npm config set registry https://registry.npmmirror.com
# 安装开发期依赖 # 安装 pnpm 和全局依赖
COPY package.json ./package.json
RUN npm install -g pnpm RUN npm install -g pnpm
RUN pnpm config set registry https://registry.npmmirror.com RUN pnpm config set registry https://registry.npmmirror.com
# 安装开发期依赖
COPY package.json ./package.json
RUN pnpm install
# 构建项目 # 构建项目
COPY . . COPY . .
RUN npm run build RUN pnpm run build
# 删除开发期依赖 # 删除开发期依赖
RUN rm -rf node_modules && rm package-lock.json RUN rm -rf node_modules && rm pnpm-lock.yaml
# 安装生产环境依赖 # 安装生产环境依赖
RUN pnpm install RUN pnpm install
# 如果端口更换,这边可以更新一下 # 如果端口更换,这边可以更新一下
EXPOSE 8001 EXPOSE 8001
CMD ["npm", "run", "start"] CMD ["pnpm", "start"]