Commit dca1435c by zhangxingmin

push

parent 392d1795
# 第一阶段:构建环境
FROM node:16.20.2-bullseye-slim AS builder
FROM node:18-alpine AS builder
# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 使用国内镜像源替换默认源
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \
sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
# 安装基础依赖
RUN apt-get update && \
apt-get install -y --no-install-recommends \
curl \
tar \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# 设置工作目录
WORKDIR /app
# 复制依赖文件
COPY package*.json ./
RUN npm install --production=false
# 使用国内npm源安装依赖
RUN npm config set registry https://registry.npmmirror.com && \
npm config set @dcloudio:registry https://registry.npmmirror.com/ && \
npm install --legacy-peer-deps
# 复制项目文件
COPY . .
RUN npm run build:h5
# 执行构建
RUN npm run build
# 使用Nginx作为运行环境
FROM nginx:alpine
# ===================================================
# 第二阶段:运行环境
FROM nginx:1.25.2-alpine AS h5-runtime
# 复制打包结果到Nginx默认目录
COPY --from=builder /app/dist/build/h5 /usr/share/nginx/html
# 复制自定义Nginx配置
# 配置Nginx
COPY nginx.conf /etc/nginx/conf.d/default.conf
# 复制构建产物
COPY --from=builder /app/unpackage/dist/build/h5 /usr/share/nginx/html
# 暴露端口
EXPOSE 8333
# 启动命令
CMD ["nginx", "-g", "daemon off;"]
......@@ -16,11 +16,10 @@
]
},
"scripts": {
"serve": "npm run dev:h5",
"build": "npm run build:h5",
"build:h5": "vue-cli-service uni-build --platform h5",
"dev:h5": "vue-cli-service uni-serve --platform h5",
"build:mp-weixin": "vue-cli-service uni-build --platform mp-weixin"
"dev:h5": "uni-app-vue3-cli dev:h5",
"build:h5": "uni-app-vue3-cli build:h5",
"build:h5:test": "cross-env NODE_ENV=test uni-app-vue3-cli build:h5",
"build:h5:prod": "cross-env NODE_ENV=production uni-app-vue3-cli build:h5"
},
"dependencies": {
"crypto-js": "^4.2.0",
......@@ -28,27 +27,13 @@
"echarts": "^5.4.1",
"js-sha256": "^0.11.1",
"nanoid": "^4.0.0",
"@dcloudio/uni-app": "^3.0.0-alpha-3000020220422001",
"@dcloudio/uni-h5": "^3.0.0-alpha-3000020220422001",
"@dcloudio/uni-mp-weixin": "^3.0.0-alpha-3000020220422001",
"core-js": "^3.8.3",
"vue": "^2.6.11"
"@dcloudio/uni-app": "^3.5.0",
"vue": "^3.2.47",
"axios": "^1.4.0"
},
"devDependencies": {
"less": "^4.3.0",
"@dcloudio/types": "^3.0.0-alpha-3000020220422001",
"@dcloudio/vue-cli-plugin-uni": "^2.0.0-3000020220422001",
"@dcloudio/uni-helper": "1.0.1",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-plugin-import": "^1.13.3",
"sass": "^1.32.13",
"sass-loader": "^10.2.0",
"vue-template-compiler": "^2.6.11"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
"@dcloudio/uni-cli-shared": "^3.5.0",
"cross-env": "^7.0.3"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment