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

Vue3+Vite打包配置全過(guò)程(包括分包配置)

 更新時(shí)間:2025年12月03日 10:56:42   作者:Z獸獸  
文章主要介紹了在vite.config.ts文件中配置環(huán)境變量、代碼壓縮及分包策略的方法,通過(guò)配置output.manualChunks,項(xiàng)目打包后會(huì)將第三方包和業(yè)務(wù)代碼分開(kāi),更新業(yè)務(wù)代碼時(shí)只需更新index.js,從而利用緩存提升加載速度

vite.config.ts文件中配置環(huán)境變量

1. 基本配置說(shuō)明

import { defineConfig } from 'vite'
//配置組件路徑別名需引入resolve
import{ resolve } from 'path'
 
export default defineConfig({
  //配置根路徑,解決部署到服務(wù)器之后絕對(duì)路徑會(huì)報(bào)404問(wèn)題,所以需改為相對(duì)路徑
  base:"./",

  server: {
    open: true,  //自動(dòng)打開(kāi)瀏覽器
    proxy: {
      // 字符串簡(jiǎn)寫(xiě)寫(xiě)法,其他方法可看vite官網(wǎng),使用方法與webpack解決跨域一樣
      '/foo': 'baseURL地址',
    }
  },

  // 路徑別名
  resolve: {
    dedupe: ['vue'],
	alias: [{
      find: '@',
	  replacement: resolve(__dirname, 'source')
	}]
  },

  // 生產(chǎn)環(huán)境移除console.log的配置
  build:{
    // 默認(rèn)是esbuild,但這里需要改成terser,并且想使用terser的話,需提前安裝,命令為npm add -D terser                     
    minify:"terser",
    outDir: "dist",
    terserOptions: {
      compress: {
        //生產(chǎn)環(huán)境時(shí)移除console
        drop_console: true,
        drop_debugger: true,
      },
      format: {
		comments: false,      // 刪除注釋
	  }
    },
  },
  plugins: [],
})

2. 代碼壓縮

//下載包
npm i vite-plugin-compression -D
//在vite.config.ts中
import viteCompression from 'vite-plugin-compression'


//在plugins中配置即可
plugins: [
  viteCompression({ verbose: true, disable: false, threshold: 10240, algorithm: 'gzip', ext: '.gz' }), 
]

3. 分包策略 使用output.manualChunks

build: {
	rollupOptions: {
		output: {
            //1) 使用函數(shù)方式
			manualChunks: (id:any) => {
				if (id.includes('node_modules')) {
					if (id.includes('element-plus')) return 'element-plus';
					else if (id.includes('lodash')) return 'lodash';
				}
			},
            //2) 使用鍵值對(duì)的方式
            manualChunks: {
                'element': ['element-plus']
            }

            //打包后的文件命名格式
			entryFileNames: `js/[name].[hash].js`,
			chunkFileNames: `js/[name].[hash].js`,
			assetFileNames: `static/[ext]/[hash].[ext]`
		}
	}
},

以下是我自己的項(xiàng)目打包后的dist包詳情,引入的第三方包都各自拆分為包,業(yè)務(wù)代碼在index.js中。

這樣以后再有業(yè)務(wù)更新時(shí) 只需要更新index,不需要更新第三方包,可以讀取緩存,提升加載速度

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue中this.$emit和this.$on的使用

    Vue中this.$emit和this.$on的使用

    這篇文章主要介紹了Vue中this.$emit和this.$on的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 在vue-cli項(xiàng)目中使用bootstrap的方法示例

    在vue-cli項(xiàng)目中使用bootstrap的方法示例

    本篇文章主要介紹了在vue-cli項(xiàng)目中使用bootstrap的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Vue數(shù)字輸入框組件的使用方法

    Vue數(shù)字輸入框組件的使用方法

    這篇文章主要為大家詳細(xì)介紹了Vue數(shù)字輸入框組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Element-ui/Element-plus?Vue報(bào)錯(cuò)問(wèn)題及解決

    Element-ui/Element-plus?Vue報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了Element-ui/Element-plus?Vue報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue 中如何利用 new Date() 獲取當(dāng)前時(shí)間

    Vue 中如何利用 new Date() 獲取當(dāng)前時(shí)間

    在 Vue 開(kāi)發(fā)中,利用 new Date() 方法可以方便地獲取當(dāng)前時(shí)間,并通過(guò) Date 對(duì)象的方法進(jìn)行時(shí)間格式化和操作。通過(guò)本文的介紹,您應(yīng)該對(duì)在 Vue 中獲取當(dāng)前時(shí)間有了更深入的了解,并了解了一些常見(jiàn)的時(shí)間操作方法,需要的朋友可以參考下
    2023-07-07
  • Vuex中的getter和mutation的區(qū)別詳解

    Vuex中的getter和mutation的區(qū)別詳解

    在現(xiàn)代前端開(kāi)發(fā)中,狀態(tài)管理是一個(gè)不可忽視的話題,而Vuex作為Vue.js的官方狀態(tài)管理庫(kù),在大型應(yīng)用中扮演著至關(guān)重要的角色,當(dāng)我們使用Vuex進(jìn)行狀態(tài)管理時(shí),getter和mutation是兩個(gè)重要的概念,在本文中,我們將詳細(xì)探討getter和mutation的區(qū)別,需要的朋友可以參考下
    2024-12-12
  • vue使用xe-utils函數(shù)庫(kù)的具體方法

    vue使用xe-utils函數(shù)庫(kù)的具體方法

    這篇文章主要介紹了vue使用xe-utils函數(shù)庫(kù)的具體方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 在Vue.js中加載字體的正確方法

    在Vue.js中加載字體的正確方法

    這篇文章主要介紹了在Vue.js中加載字體的正確方法,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • vuejs 制作背景淡入淡出切換動(dòng)畫(huà)的實(shí)例

    vuejs 制作背景淡入淡出切換動(dòng)畫(huà)的實(shí)例

    今天小編就為大家分享一篇vuejs 制作背景淡入淡出切換動(dòng)畫(huà)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue elementUI 表單校驗(yàn)的實(shí)現(xiàn)代碼(多層嵌套)

    vue elementUI 表單校驗(yàn)的實(shí)現(xiàn)代碼(多層嵌套)

    這篇文章主要介紹了vue elementUI 表單校驗(yàn)的實(shí)現(xiàn)代碼(多層嵌套),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評(píng)論

大姚县| 西安市| 安溪县| 蒙山县| 探索| 江永县| 阿拉善左旗| 海口市| 镇赉县| 克什克腾旗| 盐池县| 永清县| 台安县| 皮山县| 松桃| 图片| 巴塘县| 闽侯县| 固阳县| 白水县| 济南市| 报价| 枣阳市| 方城县| 怀集县| 涿鹿县| 自贡市| 怀来县| 平谷区| 宝丰县| 如东县| 巴里| 临漳县| 拉萨市| 茶陵县| 浙江省| 江津市| 全南县| 永顺县| 芜湖县| 手游|