Procházet zdrojové kódy

feat:管理台vue3版本提交

颜琼丽 před 4 týdny
rodič
revize
4270efe241

+ 13 - 0
jd-logistics-ui-vue3/.env.staging

@@ -0,0 +1,13 @@
+# 页面标题
+VITE_APP_TITLE = 瑞鲸速达平台
+
+# 生产环境配置
+VITE_APP_ENV = 'production'
+
+# 瑞鲸速达平台/生产环境
+VITE_APP_BASE_API = '/prod-api'
+
+VITE_APP_API_BASE_URL = 'http://192.168.101.77:8080'
+
+# 是否在打包时开启压缩,支持 gzip 和 brotli
+VITE_BUILD_COMPRESS = gzip

+ 12 - 0
jd-logistics-ui-vue3/vite/plugins/auto-import.js

@@ -0,0 +1,12 @@
+import autoImport from 'unplugin-auto-import/vite'
+
+export default function createAutoImport() {
+    return autoImport({
+        imports: [
+            'vue',
+            'vue-router',
+            'pinia'
+        ],
+        dts: false
+    })
+}

+ 28 - 0
jd-logistics-ui-vue3/vite/plugins/compression.js

@@ -0,0 +1,28 @@
+import compression from 'vite-plugin-compression'
+
+export default function createCompression(env) {
+    const { VITE_BUILD_COMPRESS } = env
+    const plugin = []
+    if (VITE_BUILD_COMPRESS) {
+        const compressList = VITE_BUILD_COMPRESS.split(',')
+        if (compressList.includes('gzip')) {
+            // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
+            plugin.push(
+                compression({
+                    ext: '.gz',
+                    deleteOriginFile: false
+                })
+            )
+        }
+        if (compressList.includes('brotli')) {
+            plugin.push(
+                compression({
+                    ext: '.br',
+                    algorithm: 'brotliCompress',
+                    deleteOriginFile: false
+                })
+            )
+        }
+    }
+    return plugin
+}

+ 15 - 0
jd-logistics-ui-vue3/vite/plugins/index.js

@@ -0,0 +1,15 @@
+import vue from '@vitejs/plugin-vue'
+
+import createAutoImport from './auto-import'
+import createSvgIcon from './svg-icon'
+import createCompression from './compression'
+import createSetupExtend from './setup-extend'
+
+export default function createVitePlugins(viteEnv, isBuild = false) {
+    const vitePlugins = [vue()]
+    vitePlugins.push(createAutoImport())
+	vitePlugins.push(createSetupExtend())
+    vitePlugins.push(createSvgIcon(isBuild))
+	isBuild && vitePlugins.push(...createCompression(viteEnv))
+    return vitePlugins
+}

+ 5 - 0
jd-logistics-ui-vue3/vite/plugins/setup-extend.js

@@ -0,0 +1,5 @@
+import setupExtend from 'unplugin-vue-setup-extend-plus/vite'
+
+export default function createSetupExtend() {
+    return setupExtend({})
+}

+ 10 - 0
jd-logistics-ui-vue3/vite/plugins/svg-icon.js

@@ -0,0 +1,10 @@
+import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
+import path from 'path'
+
+export default function createSvgIcon(isBuild) {
+    return createSvgIconsPlugin({
+		iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/svg')],
+        symbolId: 'icon-[dir]-[name]',
+        svgoOptions: isBuild
+    })
+}