yunzer/frontend/vite.config.ts

61 lines
1.4 KiB
TypeScript

// vite.config.ts
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'
import path from 'path'
export default defineConfig({
// 设置基础路径,支持子目录部署
base: './',
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
},
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
// 构建配置
build: {
// 输出目录
outDir: 'dist',
// 静态资源目录
assetsDir: 'assets',
// 生成 sourcemap
sourcemap: false,
// 压缩配置
minify: 'esbuild',
// 代码分割配置
rollupOptions: {
output: {
// 手动分割代码块
manualChunks: {
// 将 Vue 相关库单独打包
'vue-vendor': ['vue', 'vue-router', 'pinia'],
// 将 Element Plus 单独打包
'element-plus': ['element-plus'],
// 将图标库单独打包
'icons': ['@element-plus/icons-vue']
}
}
}
},
// 服务器配置
server: {
port: 5173, // 保持你当前使用的端口
open: true,
cors: true
}
})