Files
vue-desktop/vite.config.ts
2025-09-25 15:31:11 +08:00

51 lines
1.2 KiB
TypeScript

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import vueDevTools from 'vite-plugin-vue-devtools'
import UnoCSS from 'unocss/vite'
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue({
template: {
compilerOptions: {
isCustomElement: tag => tag.endsWith('-element') // 忽略自定义元素
}
}
}),
vueJsx(),
vueDevTools(),
UnoCSS()
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
'vue': 'vue/dist/vue.esm-bundler.js'
}
},
build: {
rollupOptions: {
output: {
// 配置代码分割
manualChunks: {
// 将Vue相关库打包到单独的chunk中
vue: ['vue', 'vue-router', 'pinia'],
// 将UI库打包到单独的chunk中
ui: ['naive-ui'],
// 将工具库打包到单独的chunk中
utils: ['lodash', 'uuid'],
// 将VueUse打包到单独的chunk中
vueuse: ['@vueuse/core']
}
}
},
// 启用压缩
minify: 'esbuild',
// 启用CSS代码分割
cssCodeSplit: true
}
})