Commit 8dc71912 by zhangxingmin

push

parent 4d79c2c0
FROM docker.m.daocloud.io/library/node:22-bullseye AS build # 使用 Node 14 (兼容 Vue 2)
FROM docker.m.daocloud.io/library/node:14-bullseye AS build
# 安装 Python 2 (某些 Vue 2 依赖需要)
RUN apt-get update && apt-get install -y python2
RUN ln -s /usr/bin/python2 /usr/bin/python
# 环境变量与系统依赖 # 环境变量与系统依赖
ENV npm_config_canvas_binary_host_mirror="https://npmmirror.com/mirrors/canvas" \ ENV npm_config_canvas_binary_host_mirror="https://npmmirror.com/mirrors/canvas" \
...@@ -9,7 +14,7 @@ ENV npm_config_canvas_binary_host_mirror="https://npmmirror.com/mirrors/canvas" ...@@ -9,7 +14,7 @@ ENV npm_config_canvas_binary_host_mirror="https://npmmirror.com/mirrors/canvas"
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \ 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 && \ sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \
apt-get update && apt-get install -y --no-install-recommends \ apt-get update && apt-get install -y --no-install-recommends \
build-essential python3 pkg-config \ build-essential pkg-config \
libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev libvips-dev \ libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev libvips-dev \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
......
{ {
"id": "vcode-input",
"name": "verification-code-input", "name": "verification-code-input",
"version": "2.0.0", "version": "2.0.0",
"description": "验证码输入框,密码输入框",
"private": true, "private": true,
"keywords": [
"验证码输入框",
"支付密码输入框"
],
"displayName": "验证码输入框",
"dcloudext": {
"category": [
"前端组件",
"通用组件"
]
},
"scripts": { "scripts": {
"dev": "vite --host 0.0.0.0", "dev": "vite --host 0.0.0.0",
"build": "vite build --mode production", "build": "vite build --mode production",
...@@ -27,10 +14,6 @@ ...@@ -27,10 +14,6 @@
"echarts": "^5.6.0", "echarts": "^5.6.0",
"js-sha256": "^0.11.1", "js-sha256": "^0.11.1",
"nanoid": "^5.1.5", "nanoid": "^5.1.5",
"@element-plus/icons-vue": "^2.3.1",
"@vuemap/vue-amap": "^2.1.16",
"@vueup/vue-quill": "^1.2.0",
"@vueuse/core": "^13.5.0",
"ali-oss": "^6.23.0", "ali-oss": "^6.23.0",
"awesome-qr": "^2.1.5-rc.0", "awesome-qr": "^2.1.5-rc.0",
"axios": "^1.11.0", "axios": "^1.11.0",
...@@ -39,8 +22,7 @@ ...@@ -39,8 +22,7 @@
"core-js": "^3.44.0", "core-js": "^3.44.0",
"cos-js-sdk-v5": "^1.10.1", "cos-js-sdk-v5": "^1.10.1",
"driver.js": "^1.3.6", "driver.js": "^1.3.6",
"element-plus": "^2.10.4", "fabric": "^5.3.0",
"fabric": "^6.7.1",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"fuse.js": "^7.1.0", "fuse.js": "^7.1.0",
"js-beautify": "^1.15.4", "js-beautify": "^1.15.4",
...@@ -48,44 +30,41 @@ ...@@ -48,44 +30,41 @@
"jsencrypt": "^3.3.2", "jsencrypt": "^3.3.2",
"lodash.merge": "^4.6.2", "lodash.merge": "^4.6.2",
"moment": "^2.30.1", "moment": "^2.30.1",
"mp4box": "^1.4.4", "mp4box": "^0.5.2",
"normalize.css": "^8.0.1", "normalize.css": "^8.0.1",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"path-browserify": "^1.0.1", "path-browserify": "^1.0.1",
"pinia": "^3.0.3", "pinia": "^2.0.32",
"qiankun": "^2.10.16", "qiankun": "^2.10.16",
"qrcode": "^1.5.4", "qrcode": "^1.5.3",
"quill-image-resize-module": "^3.0.0", "quill-image-resize-module": "^3.0.0",
"screenfull": "^6.0.2", "screenfull": "^6.0.2",
"sortablejs": "^1.15.6", "sortablejs": "^1.15.0",
"uuid": "^11.1.0", "uuid": "^9.0.0",
"vant": "^4.9.21", "vant": "^3.6.14",
"vite-plugin-svg-icons": "^2.0.1",
"vue": "^2.6.14", "vue": "^2.6.14",
"vue-router": "^3.6.5",
"vuedraggable": "^2.24.3",
"element-ui": "^2.15.14",
"vue-awesome": "^4.1.0",
"vue-quill": "^1.0.6",
"@dcloudio/uni-app": "^2.0.0", "@dcloudio/uni-app": "^2.0.0",
"vue-cropper": "^1.0.8", "vue-cropper": "^1.0.8",
"vue-router": "^4.5.1", "@vue/composition-api": "^1.7.1"
"vue3-count-to": "^1.1.2",
"vuedraggable": "^4.1.0"
}, },
"devDependencies": { "devDependencies": {
"path": "^0.12.7", "path": "^0.12.7",
"vite-plugin-vue-setup-extend": "^0.4.0",
"less": "^4.4.0", "less": "^4.4.0",
"@vitejs/plugin-vue": "^6.0.0", "rollup-plugin-visualizer": "^5.9.2",
"@vitejs/plugin-vue-jsx": "^5.0.1", "sass": "^1.62.1",
"@vue/babel-plugin-jsx": "^1.4.0",
"@vue/compat": "^3.5.18",
"rollup-plugin-visualizer": "^6.0.3",
"sass": "^1.89.2",
"sharp": "0.34.3", "sharp": "0.34.3",
"terser": "^5.43.1", "terser": "^5.17.7",
"unplugin-auto-import": "^19.3.0", "vite": "^4.1.4",
"unplugin-vue-components": "^28.8.0", "vite-plugin-cdn-import": "^0.3.5",
"vite": "^7.0.5",
"vite-plugin-cdn-import": "^1.0.1",
"vite-plugin-compression": "^0.5.1", "vite-plugin-compression": "^0.5.1",
"vite-plugin-image-optimizer": "^2.0.2", "vite-plugin-image-optimizer": "^1.1.6",
"vite-plugin-require-transform": "^1.0.21" "vite-plugin-require-transform": "^1.0.21",
"vite-plugin-vue2": "^2.0.3",
"@vitejs/plugin-vue": "^4.0.0"
} }
} }
// vite.config.mjs
import { defineConfig } from 'vite'; import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; import { createVuePlugin } from 'vite-plugin-vue2';
import { fileURLToPath, URL } from 'node:url'; import { fileURLToPath, URL } from 'node:url';
export default defineConfig({ export default defineConfig({
base: '/cffp/', // 匹配 manifest.json 中的 base 路径 base: '/cffp/',
plugins: [vue({/* 自定义元素配置 */})], plugins: [
createVuePlugin({
// Vue 2 插件配置
jsx: true, // 启用 JSX 支持
})
],
resolve: { resolve: {
alias: { '@': fileURLToPath(new URL('./', import.meta.url)) } alias: {
'@': fileURLToPath(new URL('./', import.meta.url)),
// Vue 2 兼容性别名
'vue': '@vue/compat',
'@vue/composition-api': '@vue/composition-api/dist/vue-composition-api.mjs'
}
}, },
css: { css: {
preprocessorOptions: { preprocessorOptions: {
scss: { scss: {
additionalData: `@import "@/styles/variables.scss";` // 全局注入变量 [6] additionalData: `@import "@/styles/variables.scss";`
} }
} }
}, },
...@@ -22,8 +31,20 @@ export default defineConfig({ ...@@ -22,8 +31,20 @@ export default defineConfig({
minify: 'terser', minify: 'terser',
terserOptions: { terserOptions: {
compress: { compress: {
drop_console: true // 生产环境移除 console [10] drop_console: true
} }
},
// Vue 2 需要额外的构建配置
commonjsOptions: {
transformMixedEsModules: true
} }
},
// Vue 2 需要额外的优化配置
optimizeDeps: {
include: [
'@vue/composition-api',
'element-ui',
'vue-awesome'
]
} }
}); });
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