From ac0cd006719a2db71625610460f6537c15eaa9f4 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期五, 05 九月 2025 13:33:52 +0800 Subject: [PATCH] 打包配置 --- .env.staging | 4 .env.development | 4 src/views/login.vue | 2 src/layout/components/Sidebar/Logo.vue | 8 index.html | 389 +++++++++++++++++----------------- package.json | 2 .env.production | 4 public/favicon.ico | 0 src/assets/logo/logo.png | 0 vite.config.js | 74 +++--- src/router/index.js | 164 +++++++------- src/components/Breadcrumb/index.vue | 2 12 files changed, 327 insertions(+), 326 deletions(-) diff --git a/.env.development b/.env.development index 394972a..d2ffc55 100644 --- a/.env.development +++ b/.env.development @@ -1,8 +1,8 @@ # 椤甸潰鏍囬 -VITE_APP_TITLE = 闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃 +VITE_APP_TITLE = 鍒涘法鑳芥簮鏈夐檺鍏徃 # 寮�鍙戠幆澧冮厤缃� VITE_APP_ENV = 'development' -# 闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃/寮�鍙戠幆澧� +# 鍒涘法鑳芥簮鏈夐檺鍏徃/寮�鍙戠幆澧� VITE_APP_BASE_API = '/dev-api' diff --git a/.env.production b/.env.production index 8a6575d..1b5d56c 100644 --- a/.env.production +++ b/.env.production @@ -1,10 +1,10 @@ # 椤甸潰鏍囬 -VITE_APP_TITLE = 闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃 +VITE_APP_TITLE = 鍒涘法鑳芥簮鏈夐檺鍏徃 # 鐢熶骇鐜閰嶇疆 VITE_APP_ENV = 'production' -# 闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃/鐢熶骇鐜 +# 鍒涘法鑳芥簮鏈夐檺鍏徃/鐢熶骇鐜 VITE_APP_BASE_API = '/zd' # 鏄惁鍦ㄦ墦鍖呮椂寮�鍚帇缂╋紝鏀寔 gzip 鍜� brotli diff --git a/.env.staging b/.env.staging index 4e25589..f96c379 100644 --- a/.env.staging +++ b/.env.staging @@ -1,10 +1,10 @@ # 椤甸潰鏍囬 -VITE_APP_TITLE = 闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃 +VITE_APP_TITLE = 鍒涘法鑳芥簮鏈夐檺鍏徃 # 鐢熶骇鐜閰嶇疆 VITE_APP_ENV = 'staging' -# 闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃/鐢熶骇鐜 +# 鍒涘法鑳芥簮鏈夐檺鍏徃/鐢熶骇鐜 VITE_APP_BASE_API = '/stage-api' # 鏄惁鍦ㄦ墦鍖呮椂寮�鍚帇缂╋紝鏀寔 gzip 鍜� brotli diff --git a/index.html b/index.html index 5fada08..c654ffd 100644 --- a/index.html +++ b/index.html @@ -1,216 +1,217 @@ <!DOCTYPE html> <html> - -<head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <meta name="renderer" content="webkit"> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> - <link rel="icon" href="/favicon.ico"> - <title>闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃</title> - <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> - <style> - html, - body, - #app { - height: 100%; - margin: 0px; - padding: 0px; - } - - .chromeframe { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; - } - - #loader-wrapper { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 999999; - } - - #loader { - display: block; - position: relative; - left: 50%; - top: 50%; - width: 150px; - height: 150px; - margin: -75px 0 0 -75px; - border-radius: 50%; - border: 3px solid transparent; - border-top-color: #FFF; - -webkit-animation: spin 2s linear infinite; - -ms-animation: spin 2s linear infinite; - -moz-animation: spin 2s linear infinite; - -o-animation: spin 2s linear infinite; - animation: spin 2s linear infinite; - z-index: 1001; - } - - #loader:before { - content: ""; - position: absolute; - top: 5px; - left: 5px; - right: 5px; - bottom: 5px; - border-radius: 50%; - border: 3px solid transparent; - border-top-color: #FFF; - -webkit-animation: spin 3s linear infinite; - -moz-animation: spin 3s linear infinite; - -o-animation: spin 3s linear infinite; - -ms-animation: spin 3s linear infinite; - animation: spin 3s linear infinite; - } - - #loader:after { - content: ""; - position: absolute; - top: 15px; - left: 15px; - right: 15px; - bottom: 15px; - border-radius: 50%; - border: 3px solid transparent; - border-top-color: #FFF; - -moz-animation: spin 1.5s linear infinite; - -o-animation: spin 1.5s linear infinite; - -ms-animation: spin 1.5s linear infinite; - -webkit-animation: spin 1.5s linear infinite; - animation: spin 1.5s linear infinite; - } - - - @-webkit-keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); + <head> + <meta charset="utf-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> + <meta name="renderer" content="webkit" /> + <meta + name="viewport" + content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" + /> + <link rel="icon" href="/favicon.ico" /> + <title>鍒涘法鑳芥簮鏈夐檺鍏徃</title> + <!--[if lt IE 11 + ]><script> + window.location.href = "/html/ie.html"; + </script><! + [endif]--> + <style> + html, + body, + #app { + height: 100%; + margin: 0px; + padding: 0px; } - 100% { - -webkit-transform: rotate(360deg); - -ms-transform: rotate(360deg); - transform: rotate(360deg); - } - } - - @keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); + .chromeframe { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; } - 100% { - -webkit-transform: rotate(360deg); - -ms-transform: rotate(360deg); - transform: rotate(360deg); + #loader-wrapper { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 999999; } - } + #loader { + display: block; + position: relative; + left: 50%; + top: 50%; + width: 150px; + height: 150px; + margin: -75px 0 0 -75px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #fff; + -webkit-animation: spin 2s linear infinite; + -ms-animation: spin 2s linear infinite; + -moz-animation: spin 2s linear infinite; + -o-animation: spin 2s linear infinite; + animation: spin 2s linear infinite; + z-index: 1001; + } - #loader-wrapper .loader-section { - position: fixed; - top: 0; - width: 51%; - height: 100%; - background: #7171C6; - z-index: 1000; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } + #loader:before { + content: ""; + position: absolute; + top: 5px; + left: 5px; + right: 5px; + bottom: 5px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #fff; + -webkit-animation: spin 3s linear infinite; + -moz-animation: spin 3s linear infinite; + -o-animation: spin 3s linear infinite; + -ms-animation: spin 3s linear infinite; + animation: spin 3s linear infinite; + } - #loader-wrapper .loader-section.section-left { - left: 0; - } + #loader:after { + content: ""; + position: absolute; + top: 15px; + left: 15px; + right: 15px; + bottom: 15px; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: #fff; + -moz-animation: spin 1.5s linear infinite; + -o-animation: spin 1.5s linear infinite; + -ms-animation: spin 1.5s linear infinite; + -webkit-animation: spin 1.5s linear infinite; + animation: spin 1.5s linear infinite; + } - #loader-wrapper .loader-section.section-right { - right: 0; - } + @-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } + } - .loaded #loader-wrapper .loader-section.section-left { - -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); - -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - } + @keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } - .loaded #loader-wrapper .loader-section.section-right { - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); - -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); - } + 100% { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } + } - .loaded #loader { - opacity: 0; - -webkit-transition: all 0.3s ease-out; - transition: all 0.3s ease-out; - } + #loader-wrapper .loader-section { + position: fixed; + top: 0; + width: 51%; + height: 100%; + background: #7171c6; + z-index: 1000; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } - .loaded #loader-wrapper { - visibility: hidden; - -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); - -webkit-transition: all 0.3s 1s ease-out; - transition: all 0.3s 1s ease-out; - } + #loader-wrapper .loader-section.section-left { + left: 0; + } - .no-js #loader-wrapper { - display: none; - } + #loader-wrapper .loader-section.section-right { + right: 0; + } - .no-js h1 { - color: #222222; - } + .loaded #loader-wrapper .loader-section.section-left { + -webkit-transform: translateX(-100%); + -ms-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + } - #loader-wrapper .load_title { - font-family: 'Open Sans'; - color: #FFF; - font-size: 19px; - width: 100%; - text-align: center; - z-index: 9999999999999; - position: absolute; - top: 60%; - opacity: 1; - line-height: 30px; - } + .loaded #loader-wrapper .loader-section.section-right { + -webkit-transform: translateX(100%); + -ms-transform: translateX(100%); + transform: translateX(100%); + -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + } - #loader-wrapper .load_title span { - font-weight: normal; - font-style: italic; - font-size: 13px; - color: #FFF; - opacity: 0.5; - } - - </style> -</head> + .loaded #loader { + opacity: 0; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + } -<body> - <div id="app"> - <div id="loader-wrapper"> - <div id="loader"></div> - <div class="loader-section section-left"></div> - <div class="loader-section section-right"></div> - <div class="load_title">姝e湪鍔犺浇绯荤粺璧勬簮锛岃鑰愬績绛夊緟</div> + .loaded #loader-wrapper { + visibility: hidden; + -webkit-transform: translateY(-100%); + -ms-transform: translateY(-100%); + transform: translateY(-100%); + -webkit-transition: all 0.3s 1s ease-out; + transition: all 0.3s 1s ease-out; + } + + .no-js #loader-wrapper { + display: none; + } + + .no-js h1 { + color: #222222; + } + + #loader-wrapper .load_title { + font-family: "Open Sans"; + color: #fff; + font-size: 19px; + width: 100%; + text-align: center; + z-index: 9999999999999; + position: absolute; + top: 60%; + opacity: 1; + line-height: 30px; + } + + #loader-wrapper .load_title span { + font-weight: normal; + font-style: italic; + font-size: 13px; + color: #fff; + opacity: 0.5; + } + </style> + </head> + + <body> + <div id="app"> + <div id="loader-wrapper"> + <div id="loader"></div> + <div class="loader-section section-left"></div> + <div class="loader-section section-right"></div> + <div class="load_title">姝e湪鍔犺浇绯荤粺璧勬簮锛岃鑰愬績绛夊緟</div> + </div> </div> - </div> - <script type="module" src="/src/main.js"></script> -</body> - -</html> \ No newline at end of file + <script type="module" src="/src/main.js"></script> + </body> +</html> diff --git a/package.json b/package.json index 6d2877a..22d1216 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ruoyi", "version": "3.8.9", - "description": "闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃", + "description": "鍒涘法鑳芥簮鏈夐檺鍏徃", "author": "鑻ヤ緷", "license": "MIT", "type": "module", diff --git a/public/favicon.ico b/public/favicon.ico index 0fb0a1d..5ad6d83 100644 --- a/public/favicon.ico +++ b/public/favicon.ico Binary files differ diff --git a/src/assets/logo/logo.png b/src/assets/logo/logo.png index 072a936..e4e9d73 100644 --- a/src/assets/logo/logo.png +++ b/src/assets/logo/logo.png Binary files differ diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index c13e5e9..88935d3 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -34,7 +34,7 @@ } // 鍒ゆ柇鏄惁涓洪椤� if (!isDashboard(matched[0])) { - matched = [{ path: "/index", meta: { title: "棣栭〉" } }].concat(matched) + matched = [{ path: "/index", meta: { title: "鐢熶骇鎶ヨ〃" } }].concat(matched) } levelList.value = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) } diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue index 11bcd8c..e5e16b7 100644 --- a/src/layout/components/Sidebar/Logo.vue +++ b/src/layout/components/Sidebar/Logo.vue @@ -2,11 +2,11 @@ <div class="sidebar-logo-container" :class="{ 'collapse': collapse }"> <transition name="sidebarLogoFade"> <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> - <img v-if="logo" :src="logo" class="sidebar-logo" /> - <h1 v-else class="sidebar-title">{{ title }}</h1> + <!-- <img v-if="logo" :src="logo" class="sidebar-logo" /> --> + <h1 class="sidebar-title">{{ title }}</h1> </router-link> <router-link v-else key="expand" class="sidebar-logo-link" to="/"> - <img v-if="logo" :src="logo" class="sidebar-logo" /> + <!-- <img v-if="logo" :src="logo" class="sidebar-logo" /> --> <h1 class="sidebar-title">{{ title }}</h1> </router-link> </transition> @@ -74,7 +74,7 @@ & .sidebar-logo { height: 32px; vertical-align: middle; - margin-right: 12px; + //margin-right: 12px; } & .sidebar-title { diff --git a/src/router/index.js b/src/router/index.js index 627cc33..b5b2167 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,6 @@ -import { createWebHistory, createRouter } from 'vue-router' +import { createWebHistory, createRouter } from "vue-router"; /* Layout */ -import Layout from '@/layout' +import Layout from "@/layout"; /** * Note: 璺敱閰嶇疆椤� @@ -27,148 +27,148 @@ // 鍏叡璺敱 export const constantRoutes = [ { - path: '/redirect', + path: "/redirect", component: Layout, hidden: true, children: [ { - path: '/redirect/:path(.*)', - component: () => import('@/views/redirect/index.vue') - } - ] + path: "/redirect/:path(.*)", + component: () => import("@/views/redirect/index.vue"), + }, + ], }, { - path: '/login', - component: () => import('@/views/login'), - hidden: true + path: "/login", + component: () => import("@/views/login"), + hidden: true, }, { - path: '/register', - component: () => import('@/views/register'), - hidden: true + path: "/register", + component: () => import("@/views/register"), + hidden: true, }, { path: "/:pathMatch(.*)*", - component: () => import('@/views/error/404'), - hidden: true + component: () => import("@/views/error/404"), + hidden: true, }, { - path: '/401', - component: () => import('@/views/error/401'), - hidden: true + path: "/401", + component: () => import("@/views/error/401"), + hidden: true, }, { - path: '', + path: "", component: Layout, - redirect: '/index', + redirect: "/index", children: [ { - path: '/index', - component: () => import('@/views/index'), - name: 'Index', - meta: { title: '棣栭〉', icon: 'dashboard', affix: true } - } - ] + path: "/index", + component: () => import("@/views/index"), + name: "Index", + meta: { title: "鐢熶骇鎶ヨ〃", icon: "dashboard", affix: true }, + }, + ], }, { - path: '/user', + path: "/user", component: Layout, hidden: true, - redirect: 'noredirect', + redirect: "noredirect", children: [ { - path: 'profile', - component: () => import('@/views/system/user/profile/index'), - name: 'Profile', - meta: { title: '涓汉涓績', icon: 'user' } - } - ] - } -] + path: "profile", + component: () => import("@/views/system/user/profile/index"), + name: "Profile", + meta: { title: "涓汉涓績", icon: "user" }, + }, + ], + }, +]; // 鍔ㄦ�佽矾鐢憋紝鍩轰簬鐢ㄦ埛鏉冮檺鍔ㄦ�佸幓鍔犺浇 export const dynamicRoutes = [ { - path: '/system/user-auth', + path: "/system/user-auth", component: Layout, hidden: true, - permissions: ['system:user:edit'], + permissions: ["system:user:edit"], children: [ { - path: 'role/:userId(\\d+)', - component: () => import('@/views/system/user/authRole'), - name: 'AuthRole', - meta: { title: '鍒嗛厤瑙掕壊', activeMenu: '/system/user' } - } - ] + path: "role/:userId(\\d+)", + component: () => import("@/views/system/user/authRole"), + name: "AuthRole", + meta: { title: "鍒嗛厤瑙掕壊", activeMenu: "/system/user" }, + }, + ], }, { - path: '/system/role-auth', + path: "/system/role-auth", component: Layout, hidden: true, - permissions: ['system:role:edit'], + permissions: ["system:role:edit"], children: [ { - path: 'user/:roleId(\\d+)', - component: () => import('@/views/system/role/authUser'), - name: 'AuthUser', - meta: { title: '鍒嗛厤鐢ㄦ埛', activeMenu: '/system/role' } - } - ] + path: "user/:roleId(\\d+)", + component: () => import("@/views/system/role/authUser"), + name: "AuthUser", + meta: { title: "鍒嗛厤鐢ㄦ埛", activeMenu: "/system/role" }, + }, + ], }, { - path: '/system/dict-data', + path: "/system/dict-data", component: Layout, hidden: true, - permissions: ['system:dict:list'], + permissions: ["system:dict:list"], children: [ { - path: 'index/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { title: '瀛楀吀鏁版嵁', activeMenu: '/system/dict' } - } - ] + path: "index/:dictId(\\d+)", + component: () => import("@/views/system/dict/data"), + name: "Data", + meta: { title: "瀛楀吀鏁版嵁", activeMenu: "/system/dict" }, + }, + ], }, { - path: '/monitor/job-log', + path: "/monitor/job-log", component: Layout, hidden: true, - permissions: ['monitor:job:list'], + permissions: ["monitor:job:list"], children: [ { - path: 'index/:jobId(\\d+)', - component: () => import('@/views/monitor/job/log'), - name: 'JobLog', - meta: { title: '璋冨害鏃ュ織', activeMenu: '/monitor/job' } - } - ] + path: "index/:jobId(\\d+)", + component: () => import("@/views/monitor/job/log"), + name: "JobLog", + meta: { title: "璋冨害鏃ュ織", activeMenu: "/monitor/job" }, + }, + ], }, { - path: '/tool/gen-edit', + path: "/tool/gen-edit", component: Layout, hidden: true, - permissions: ['tool:gen:edit'], + permissions: ["tool:gen:edit"], children: [ { - path: 'index/:tableId(\\d+)', - component: () => import('@/views/tool/gen/editTable'), - name: 'GenEdit', - meta: { title: '淇敼鐢熸垚閰嶇疆', activeMenu: '/tool/gen' } - } - ] - } -] + path: "index/:tableId(\\d+)", + component: () => import("@/views/tool/gen/editTable"), + name: "GenEdit", + meta: { title: "淇敼鐢熸垚閰嶇疆", activeMenu: "/tool/gen" }, + }, + ], + }, +]; const router = createRouter({ history: createWebHistory(), routes: constantRoutes, scrollBehavior(to, from, savedPosition) { if (savedPosition) { - return savedPosition + return savedPosition; } - return { top: 0 } + return { top: 0 }; }, -}) +}); -export default router +export default router; diff --git a/src/views/login.vue b/src/views/login.vue index f726aa1..a15df16 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,7 +1,7 @@ <template> <div class="login"> <div class="login-card"> - <div class="title">闄曡タ鏄痉鐜繚鍨嬬叅鏈夐檺鍏徃</div> + <div class="title">鍒涘法鑳芥簮鏈夐檺鍏徃</div> <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form" label-position="top"> <el-form-item prop="username" label="璐﹀彿"> <el-input diff --git a/vite.config.js b/vite.config.js index 80e2c50..20e2c4a 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,8 +1,8 @@ -import { defineConfig, loadEnv } from 'vite' -import path from 'path' -import createVitePlugins from './vite/plugins' +import { defineConfig, loadEnv } from "vite"; +import path from "path"; +import createVitePlugins from "./vite/plugins"; -const baseUrl = 'http://114.132.189.42:7016' // 鍚庣鎺ュ彛 +const baseUrl = "http://114.132.189.42:8097"; // 鍚庣鎺ュ彛 // const baseUrl = 'http://114.132.189.42:7016' // const baseUrl = 'http://10.42.128.207:7016' // 鍚庣鎺ュ彛 // const baseUrl = 'http://192.168.1.144:7016' // 鍚庣鎺ュ彛 @@ -10,74 +10,74 @@ // https://vitejs.dev/config/ export default defineConfig(({ mode, command }) => { - const env = loadEnv(mode, process.cwd()) - const { VITE_APP_ENV } = env + const env = loadEnv(mode, process.cwd()); + const { VITE_APP_ENV } = env; return { // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆� // 榛樿鎯呭喌涓嬶紝vite 浼氬亣璁句綘鐨勫簲鐢ㄦ槸琚儴缃插湪涓�涓煙鍚嶇殑鏍硅矾寰勪笂 // 渚嬪 https://www.ruoyi.vip/銆傚鏋滃簲鐢ㄨ閮ㄧ讲鍦ㄤ竴涓瓙璺緞涓婏紝浣犲氨闇�瑕佺敤杩欎釜閫夐」鎸囧畾杩欎釜瀛愯矾寰勩�備緥濡傦紝濡傛灉浣犵殑搴旂敤琚儴缃插湪 https://www.ruoyi.vip/admin/锛屽垯璁剧疆 baseUrl 涓� /admin/銆� - base: VITE_APP_ENV === 'production' ? './' : './', - plugins: createVitePlugins(env, command === 'build'), + base: VITE_APP_ENV === "production" ? "./" : "./", + plugins: createVitePlugins(env, command === "build"), resolve: { // https://cn.vitejs.dev/config/#resolve-alias alias: { // 璁剧疆璺緞 - '~': path.resolve(__dirname, './'), + "~": path.resolve(__dirname, "./"), // 璁剧疆鍒悕 - '@': path.resolve(__dirname, './src') + "@": path.resolve(__dirname, "./src"), }, // https://cn.vitejs.dev/config/#resolve-extensions - extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] + extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"], }, // 鎵撳寘閰嶇疆 build: { // https://vite.dev/config/build-options.html - sourcemap: command === 'build' ? false : 'inline', - outDir: 'dist', - assetsDir: 'assets', + sourcemap: command === "build" ? false : "inline", + outDir: "dist", + assetsDir: "assets", chunkSizeWarningLimit: 2000, rollupOptions: { output: { - chunkFileNames: 'static/js/[name]-[hash].js', - entryFileNames: 'static/js/[name]-[hash].js', - assetFileNames: 'static/[ext]/[name]-[hash].[ext]' - } - } + chunkFileNames: "static/js/[name]-[hash].js", + entryFileNames: "static/js/[name]-[hash].js", + assetFileNames: "static/[ext]/[name]-[hash].[ext]", + }, + }, }, // vite 鐩稿叧閰嶇疆 server: { - port: 80, + port: 8001, host: true, open: true, proxy: { // https://cn.vitejs.dev/config/#server-proxy - '/dev-api': { + "/dev-api": { target: baseUrl, changeOrigin: true, - rewrite: (p) => p.replace(/^\/dev-api/, '') + rewrite: (p) => p.replace(/^\/dev-api/, ""), }, - // springdoc proxy - '^/v3/api-docs/(.*)': { + // springdoc proxy + "^/v3/api-docs/(.*)": { target: baseUrl, changeOrigin: true, - } - } + }, + }, }, css: { postcss: { plugins: [ { - postcssPlugin: 'internal:charset-removal', + postcssPlugin: "internal:charset-removal", AtRule: { charset: (atRule) => { - if (atRule.name === 'charset') { - atRule.remove() + if (atRule.name === "charset") { + atRule.remove(); } - } - } - } - ] - } - } - } -}) + }, + }, + }, + ], + }, + }, + }; +}); -- Gitblit v1.9.3