2026-04-24 10:42:11 +08:00
|
|
|
import { defineConfig, loadEnv } from 'vite'
|
2026-04-21 22:07:29 +08:00
|
|
|
import vue from '@vitejs/plugin-vue'
|
|
|
|
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
|
|
|
import Components from 'unplugin-vue-components/vite'
|
|
|
|
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
|
|
|
|
|
2026-04-24 10:42:11 +08:00
|
|
|
export default defineConfig(({ mode }) => {
|
|
|
|
|
const env = loadEnv(mode, new URL('.', import.meta.url).pathname, '')
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
base: env.VITE_APP_BASE || '/ops/',
|
|
|
|
|
plugins: [
|
|
|
|
|
vue(),
|
|
|
|
|
AutoImport({ resolvers: [ElementPlusResolver()] }),
|
|
|
|
|
Components({ resolvers: [ElementPlusResolver()] }),
|
|
|
|
|
],
|
|
|
|
|
resolve: {
|
|
|
|
|
alias: { '@': new URL('./src', import.meta.url).pathname },
|
|
|
|
|
},
|
2026-04-28 16:08:07 +08:00
|
|
|
build: {
|
|
|
|
|
chunkSizeWarningLimit: 1000,
|
|
|
|
|
rollupOptions: {
|
|
|
|
|
output: {
|
|
|
|
|
manualChunks(id) {
|
|
|
|
|
if (!id.includes('node_modules')) return undefined
|
|
|
|
|
if (id.includes('element-plus')) return 'element-plus'
|
|
|
|
|
if (id.includes('@element-plus/icons-vue')) return 'element-plus-icons'
|
|
|
|
|
if (id.includes('vue-router')) return 'vue-router'
|
|
|
|
|
if (id.includes('pinia')) return 'pinia'
|
|
|
|
|
if (id.includes('axios')) return 'axios'
|
|
|
|
|
return 'vendor'
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
2026-04-24 10:42:11 +08:00
|
|
|
server: {
|
|
|
|
|
port: 5174,
|
|
|
|
|
proxy: {
|
2026-04-28 16:08:07 +08:00
|
|
|
'/api': { target: 'http://192.168.116.9:8081', changeOrigin: true },
|
2026-04-24 10:42:11 +08:00
|
|
|
},
|
2026-04-21 22:07:29 +08:00
|
|
|
},
|
2026-04-24 10:42:11 +08:00
|
|
|
}
|
2026-04-21 22:07:29 +08:00
|
|
|
})
|