最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vite打包優(yōu)化分片打包依賴(lài)包詳解

 更新時(shí)間:2024年07月01日 14:15:10   作者:Mr__proto__  
這篇文章主要介紹了vite打包優(yōu)化分片打包依賴(lài)包,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue項(xiàng)目使用localStorage+Vuex保存用戶(hù)登錄信息

    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ù)的步驟

    這篇文章主要介紹了vue v-on:click傳遞動(dòng)態(tài)參數(shù)的步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • vue 部署上線清除瀏覽器緩存的方式

    vue 部署上線清除瀏覽器緩存的方式

    這篇文章主要介紹了vue 部署上線清除瀏覽器緩存的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue實(shí)現(xiàn)當(dāng)前頁(yè)面刷新的五種方法總結(jié)

    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實(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ō)明

    路由的hash和history模式的區(qū)別及說(shuō)明

    Vue-Router提供了hash模式和history模式兩種路由模式,hash模式URL帶#,支持低版本IE,history模式URL不帶#,需要服務(wù)器支持
    2025-01-01
  • Vue3使用exceljs將excel文件轉(zhuǎn)化為html預(yù)覽最佳方案

    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
  • Vue3中emits與attrs的區(qū)別分析

    Vue3中emits與attrs的區(qū)別分析

    這篇文章主要給大家介紹了關(guān)于Vue3中emits與attrs區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-10-10
  • Vue中 key keep-alive的實(shí)現(xiàn)原理

    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)的方法

    這篇文章主要介紹了vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標(biāo)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

鄂州市| 邵武市| 沙湾县| 池州市| 沐川县| 旺苍县| 新疆| 讷河市| 龙陵县| 合阳县| 射洪县| 天柱县| 宣威市| 游戏| 绍兴市| 鸡西市| 汤原县| 区。| 安康市| 樟树市| 武夷山市| 红原县| 梧州市| 恩施市| 北流市| 虞城县| 西充县| 九江县| 嘉兴市| 桂平市| 文登市| 阳新县| 彭州市| 古丈县| 隆林| 阿荣旗| 潢川县| 襄垣县| 江永县| 高州市| 霍州市|