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

還不知道怎么解決,目前就是不使用pnpm就恢復(fù)正常了
-----------------我是分割線-----------------
已經(jīng)找到解決方法,但是這種打包拆分的方法也不是很好,缺點(diǎn)就是拆分的顆粒度太小,分包太多也是會(huì)降低速度的
build: {
outDir: 'dist',
minify: 'esbuild',
// 禁用 gzip 壓縮大小報(bào)告,可略微減少打包時(shí)間
reportCompressedSize: false,
// 規(guī)定觸發(fā)警告的 chunk 大小
chunkSizeWarningLimit: 2000,
rollupOptions: {
//配置rollup
output: {
// 配置rollup輸出選項(xiàng)
// Static resource classification and packaging//靜態(tài)資源分類(lè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()
}
},
},
},
},簡(jiǎn)單的說(shuō)就是,找的位置不對(duì),直接找到.pnpm文件下的插件文件下的node_modules文件夾下,就對(duì)了,
例如:
/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
再進(jìn)行截取就行了

這回就沒(méi)有超級(jí)大的包了。。。。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 解決vite build打包后頁(yè)面不能正常訪問(wèn)的情況
- vue3+ts+vite打包后靜態(tài)資源404無(wú)法加載js和css問(wèn)題解決辦法
- vite打包只生成了一個(gè)css和js文件問(wèn)題的解決方法
- vite打包出現(xiàn)?"default"?is?not?exported?by?"node_modules/...問(wèn)題解決辦法
- 關(guān)于vite+vue3打包部署問(wèn)題
- Vue3在history模式下如何通過(guò)vite打包部署白屏
- 解決vite打包后白屏之router-view不生效問(wèn)題
- VUE3?Vite打包后動(dòng)態(tài)圖片資源不顯示問(wèn)題解決方法
- vite分目錄打包及去掉默認(rèn)的.gz?文件的操作方法
- VUE3項(xiàng)目VITE打包優(yōu)化的實(shí)現(xiàn)
- Vite中Rollup打包的實(shí)現(xiàn)
相關(guān)文章
Vue項(xiàng)目使用localStorage+Vuex保存用戶(hù)登錄信息
這篇文章主要為大家詳細(xì)介紹了Vue項(xiàng)目使用localStorage+Vuex保存用戶(hù)登錄信息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05
vue v-on:click傳遞動(dòng)態(tài)參數(shù)的步驟
這篇文章主要介紹了vue v-on:click傳遞動(dòng)態(tài)參數(shù)的步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Vue實(shí)現(xiàn)當(dāng)前頁(yè)面刷新的五種方法總結(jié)
這篇文章主要介紹了Vue中實(shí)現(xiàn)頁(yè)面刷新的5種方法,包括使用$router.go(0)、location.reload()、通過(guò)router-view的key屬性、使用v-if指令手動(dòng)觸發(fā)組件重新渲染,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02
Vuex實(shí)現(xiàn)數(shù)據(jù)共享的方法
Vuex 是一個(gè)專(zhuān)為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式。這篇文章主要介紹了Vuex實(shí)現(xiàn)數(shù)據(jù)共享的方法,需要的朋友可以參考下2019-12-12
路由的hash和history模式的區(qū)別及說(shuō)明
Vue-Router提供了hash模式和history模式兩種路由模式,hash模式URL帶#,支持低版本IE,history模式URL不帶#,需要服務(wù)器支持2025-01-01
Vue3使用exceljs將excel文件轉(zhuǎn)化為html預(yù)覽最佳方案
在企業(yè)應(yīng)用中,我們時(shí)常會(huì)遇到需要上傳并展示 Excel 文件的需求,以實(shí)現(xiàn)文件內(nèi)容的在線預(yù)覽,經(jīng)過(guò)一番探索與嘗試,筆者最終借助 exceljs 這一庫(kù)成功實(shí)現(xiàn)了該功能,本文將以 Vue 3 為例,演示如何實(shí)現(xiàn)該功能,需要的朋友可以參考下2025-05-05
Vue中 key keep-alive的實(shí)現(xiàn)原理
這篇文章主要介紹了Vue中 key keep-alive的實(shí)現(xiàn)原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標(biāo)的方法
這篇文章主要介紹了vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標(biāo)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12

