Files
Frobot-OTA-Server-UI/vite.config.js
2026-04-23 15:05:23 +08:00

58 lines
1.2 KiB
JavaScript

import { defineConfig } from 'vite'
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'
const vendorChunks = {
vue: ['vue', 'vue-router', 'pinia'],
elementPlus: ['element-plus', '@element-plus/icons-vue'],
axios: ['axios']
}
function manualChunks(id) {
if (!id.includes('node_modules')) {
return
}
for (const [chunkName, packages] of Object.entries(vendorChunks)) {
if (packages.some((pkg) => id.includes(`/node_modules/${pkg}/`) || id.includes(`\\node_modules\\${pkg}\\`))) {
return chunkName
}
}
return 'vendor'
}
export default defineConfig({
plugins: [
vue(),
AutoImport({
imports: ['vue', 'vue-router', 'pinia'],
resolvers: [
ElementPlusResolver({
importStyle: 'css'
})
]
}),
Components({
resolvers: [
ElementPlusResolver({
importStyle: 'css'
})
]
})
],
build: {
rollupOptions: {
output: {
manualChunks
}
}
},
server: {
host: '0.0.0.0',
port: 5173
}
})