vite打包優(yōu)化分片打包依賴包詳解
vite打包優(yōu)化分片打包依賴包
在開發(fā)Vue3項目時,我們使用vite進行構(gòu)建,由于項目中開發(fā)的是地圖大屏項目,依賴較多
為了提高用戶體驗減少用戶等待的時間,對此進行優(yōu)化:
拆分打包的方法
// vite.config.ts
output: {
// 配置rollup輸出選項
// Static resource classification and packaging//靜態(tài)資源分類打包
chunkFileNames: 'assets/js/[name]-[hash].js', //代碼塊文件名
entryFileNames: 'assets/js/[name]-[hash].js', //入口文件名
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]', // 資源文件名
manualChunks(id) {
if (id.includes('node_modules')) {
return id
.toString()
.split('node_modules/')[1]
.split('/')[0]
.toString()
}
},
},解釋:1
- chunkFileNames 代碼塊文件名,統(tǒng)一放到assets/js/目錄下
- entryFileNames 入口文件名,統(tǒng)一放到assets/js/目錄下
- assetFileNames 資源文件名,統(tǒng)一放到assets/js(jpg/png/ttf/css等)/目錄下
解釋:2
manualChunks 此配置內(nèi)進行分包,進行分離帶三方依賴
上述拆分方式是自動將所有的包都單獨拆分出來,優(yōu)點就是不用手動配置,但是也有缺點,就是有的第三方包體積很小,會拆分出大量文件,反而降低請求效率
踩坑
當項目使用pnpm進行管理包的時候再進行打包就會打出一個非常大的.pnpm包,這就不符合我們的預期了,我們要的就是小一點的包來進行本地緩存

還不知道怎么解決,目前就是不使用pnpm就恢復正常了
-----------------我是分割線-----------------
已經(jīng)找到解決方法,但是這種打包拆分的方法也不是很好,缺點就是拆分的顆粒度太小,分包太多也是會降低速度的
build: {
outDir: 'dist',
minify: 'esbuild',
// 禁用 gzip 壓縮大小報告,可略微減少打包時間
reportCompressedSize: false,
// 規(guī)定觸發(fā)警告的 chunk 大小
chunkSizeWarningLimit: 2000,
rollupOptions: {
//配置rollup
output: {
// 配置rollup輸出選項
// Static resource classification and packaging//靜態(tài)資源分類打包
chunkFileNames: `assets/js/[name]-${visonInfo}-[hash].js`, //代碼塊文件名
entryFileNames: `assets/js/[name]-${visonInfo}-[hash].js`, //入口文件名
assetFileNames: `assets/[ext]/[name]-${visonInfo}-[hash].[ext]`, // 資源文件名
manualChunks(id) {
if (id.includes('node_modules')) {
//使用pnpm打包
return id.toString().split('node_modules/')[2].split('/')[0].toString()
}
},
},
},
},簡單的說就是,找的位置不對,直接找到.pnpm文件下的插件文件下的node_modules文件夾下,就對了,
例如:
/Users/li/project/gongsi/vue3_flow_monitoring/node_modules/.pnpm/@antv+algorithm@0.1.26/node_modules/@antv/algorithm/lib/structs/queue.js?commonjs-exports
再進行截取就行了

這回就沒有超級大的包了。。。。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 解決vite build打包后頁面不能正常訪問的情況
- vue3+ts+vite打包后靜態(tài)資源404無法加載js和css問題解決辦法
- vite打包只生成了一個css和js文件問題的解決方法
- vite打包出現(xiàn)?"default"?is?not?exported?by?"node_modules/...問題解決辦法
- 關(guān)于vite+vue3打包部署問題
- Vue3在history模式下如何通過vite打包部署白屏
- 解決vite打包后白屏之router-view不生效問題
- VUE3?Vite打包后動態(tài)圖片資源不顯示問題解決方法
- vite分目錄打包及去掉默認的.gz?文件的操作方法
- VUE3項目VITE打包優(yōu)化的實現(xiàn)
- Vite中Rollup打包的實現(xiàn)
相關(guān)文章
Vue項目使用localStorage+Vuex保存用戶登錄信息
這篇文章主要為大家詳細介紹了Vue項目使用localStorage+Vuex保存用戶登錄信息,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05
vue v-on:click傳遞動態(tài)參數(shù)的步驟
這篇文章主要介紹了vue v-on:click傳遞動態(tài)參數(shù)的步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Vue3使用exceljs將excel文件轉(zhuǎn)化為html預覽最佳方案
在企業(yè)應(yīng)用中,我們時常會遇到需要上傳并展示 Excel 文件的需求,以實現(xiàn)文件內(nèi)容的在線預覽,經(jīng)過一番探索與嘗試,筆者最終借助 exceljs 這一庫成功實現(xiàn)了該功能,本文將以 Vue 3 為例,演示如何實現(xiàn)該功能,需要的朋友可以參考下2025-05-05
Vue中 key keep-alive的實現(xiàn)原理
這篇文章主要介紹了Vue中 key keep-alive的實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標的方法
這篇文章主要介紹了vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-12-12

