vite打包優(yōu)化分片打包依賴包詳解
vite打包優(yōu)化分片打包依賴包
在開發(fā)Vue3項目時,我們使用vite進行構建,由于項目中開發(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
再進行截取就行了
這回就沒有超級大的包了。。。。
總結
以上為個人經(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/...問題解決辦法
- 關于vite+vue3打包部署問題
- Vue3在history模式下如何通過vite打包部署白屏
- 解決vite打包后白屏之router-view不生效問題
- VUE3?Vite打包后動態(tài)圖片資源不顯示問題解決方法
- vite分目錄打包及去掉默認的.gz?文件的操作方法
- VUE3項目VITE打包優(yōu)化的實現(xiàn)
- Vite中Rollup打包的實現(xiàn)
相關文章
vue+webpack 打包文件 404 頁面空白的解決方法
下面小編就為大家分享一篇vue+webpack 打包文件 404 頁面空白的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02Vue中@change、@input和@blur的區(qū)別及@keyup介紹
這篇文章主要給大家介紹了關于Vue中@change、@input和@blur的區(qū)別及@keyup介紹的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2023-02-02vue實現(xiàn)頁面渲染時候執(zhí)行某需求的示例代碼
本文主要介紹了vue實現(xiàn)頁面渲染時候執(zhí)行某需求,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-05-05