6/27更新依赖,更新vite分包打包

This commit is contained in:
Zy
2026-06-27 08:42:02 +08:00
parent 4e2ae414c4
commit dff51dd4d4
6 changed files with 59 additions and 13 deletions

View File

@@ -53,16 +53,40 @@ export default defineConfig(({ mode, command }) => {
chunkFileNames: 'static/js/[name]-[hash].js',
entryFileNames: 'static/js/[name]-[hash].js',
assetFileNames: 'static/assets/[name]-[hash].[ext]',
manualChunks: {
'vue-vendor': ['vue', 'vue-router', 'pinia'], // Vue 生态单独拆包
'element-plus': ['element-plus', '@element-plus/icons-vue'], // Element Plus 单独拆包
'echarts': ['echarts'], // ECharts 单独拆包
'utils': ['axios', '@vueuse/core', 'vue-i18n'] // 工具库单独拆包
// manualChunks: {
// 'vue-vendor': ['vue', 'vue-router', 'pinia'], // Vue 生态单独拆包
// 'element-plus': ['element-plus', '@element-plus/icons-vue'], // Element Plus 单独拆包
// 'echarts': ['echarts'], // ECharts 单独拆包
// 'utils': ['axios', '@vueuse/core', 'vue-i18n'] // 工具库单独拆包
// }
manualChunks(id) {
// 仅对第三方依赖进行分包,业务代码走默认逻辑
if (!id.includes('node_modules')) return;
// 1. Vue 生态(对应原 vue-vendor 分组)
if (['vue', 'vue-router', 'pinia'].some((pkg) => id.includes(pkg))) {
return 'vue-vendor';
}
// 2. Element Plus 组件库(对应原 element-plus 分组)
if (id.includes('element-plus') || id.includes('@element-plus')) {
return 'element-plus';
}
// 3. ECharts 图表(对应原 echarts 分组)
if (id.includes('echarts')) {
return 'echarts';
}
// 4. 通用工具库(对应原 utils 分组)
if (['axios', '@vueuse/core', 'vue-i18n'].some((pkg) => id.includes(pkg))) {
return 'utils';
}
// 其余所有第三方依赖统一打入 vendor 包
return 'vendor';
}
}
}
},
css: {
minify: 'postcss',
preprocessorOptions: {
scss: {
// additionalData: '@use "@/assets/styles/variables.module.scss as *";'