欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vueCl如何查看打包后文件的大小占比

 更新時(shí)間:2023年06月08日 09:31:10   作者:優(yōu)秀的土豆絲  
這篇文章主要介紹了vueCl如何 查看打包后文件的大小占比問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vueCl查看打包后文件的大小占比

1. 執(zhí)行以下命令安裝

cnpm install webpack-bundle-analyzer --save-dev

2. vue.config.js 配置

chainWebpack: config => {
    // 查看打包文件體積大小
    config
      .plugin('webpack-bundle-analyzer')
      .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
  }

3. 在package.json文件中 在 build 后面加上一個(gè) --report

"build": "vue-cli-service build --report"

我們打開(kāi)http://127.0.0.1:8888之后 就會(huì)看到一個(gè)可視化的 文件占比

對(duì)vue-cli項(xiàng)目打包后文件過(guò)大,以及圖片加載慢的問(wèn)題

最近在做一個(gè)項(xiàng)目時(shí)遇到vue項(xiàng)目打包后文件體積特別大,以及一個(gè)大背景圖加載緩慢的問(wèn)題

首先說(shuō)一下打包后體積大的解決方法

第一步

在vue.config.js文件中的 chainWebpack 方法 加入以下代碼,為的就是將vue中引入的一些方法如:vue,elementUI等不打包到我們的項(xiàng)目中,而是直接從cdn服務(wù)器獲取,從而減少打包的體積

圖片加載比較慢的話(huà)可以使用 下面代碼中config.module的方式,設(shè)置一個(gè)cdn的圖片地址,去引入圖片,然后整個(gè)vue里面的圖片地址或者背景圖地址的引用都會(huì)走這個(gè)地址(因?yàn)槲覍?duì)上傳cdn圖片不是很了解,所以使用的方式是:生產(chǎn)環(huán)境ip地址 + 生產(chǎn)環(huán)境vue存儲(chǔ)圖片的路徑,我發(fā)現(xiàn)這種方式遠(yuǎn)比直接在vue中使用圖片的絕對(duì)路徑或相對(duì)路徑的顯示快很多)

chainWebpack: (config) => {
? ?if (process.env.NODE_ENV === 'production') { ?// 判斷是否為是生成環(huán)境
? ? ?var externals = {
? ? ? ? vue: 'Vue',
? ? ? ? axios: 'axios',
? ? ? ? 'element-ui': 'ELEMENT',
? ? ? ? 'vue-router': 'VueRouter',
? ? ? ? vuex: 'Vuex',
? ? ? ? echarts: 'echarts'
? ? ? }
? ? ? config.externals(externals)
? ? ? const cdn = { // 從cdn中獲取對(duì)象文件,減少打包體積
? ? ? ? css: [
? ? ? ? ? // element-ui css
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/element-ui/2.12.0/theme-chalk/index.css',
? ? ? ? ? // nprogress
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/nprogress/0.2.0/nprogress.min.css'
? ? ? ? ],
? ? ? ? js: [
? ? ? ? ? // vue
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.min.js',
? ? ? ? ? // vue-router
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/vue-router/3.1.3/vue-router.min.js',
? ? ? ? ? // vuex
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/vuex/3.1.2/vuex.min.js',
? ? ? ? ? // axios
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/axios/0.18.0/axios.min.js',
? ? ? ? ? // element-ui js
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/element-ui/2.12.0/index.js',
? ? ? ? ? // echarts
? ? ? ? ? 'https://cdn.bootcdn.net/ajax/libs/echarts/4.9.0-rc.1/echarts.min.js'
? ? ? ? ]
? ? ? }
? ? ? ? // 通過(guò) html-webpack-plugin 將 cdn 注入到 index.html 之中
? ? ? config.plugin('html')
? ? ? ? .tap(args => {
? ? ? ? ? args[0].cdn = cdn
? ? ? ? ? return args
? ? ? })
? ? ? ?// 添加壓縮圖片的方式 ?如果沒(méi)有圖片很占加載時(shí)間的話(huà),可以省略這步
? ? ? ?config.module
? ? ? ? .rule('images')
? ? ? ? .test(/\.(jpg|png|gif)$/)
? ? ? ? .use('url-loader')
? ? ? ? .loader('url-loader')
? ? ? ? .options({
? ? ? ? ? limit: 10, // 以下配置項(xiàng)用于配置file-loader
? ? ? ? ? // 將圖片改為cdn獲取
? ? ? ? ? publicPath: 'https://oss.xx.com/img',
? ? ? ? ? // 將圖片打包到dist/img文件夾下, 不配置則打包到dist文件夾下
? ? ? ? ? outputPath: 'img',
? ? ? ? ? // 配置打包后圖片文件名
? ? ? ? ? name: '[name].[ext]'
? ? ? ? })
? ? ? ?.end()
? ? }
}

第二步

添加使用gzip方式進(jìn)行代碼壓縮,如下:

// 先引入方法
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = ['js', 'css']
//在添加下面的方法
configureWebpack: {
? ? plugins: [
? ? ? new CompressionWebpackPlugin({
? ? ? ? asset: '[path].gz[query]', // 提示compression-webpack-plugin@3.0.0的話(huà)assets改為filename
? ? ? ? algorithm: 'gzip',
? ? ? ? test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
? ? ? ? threshold: 10240,
? ? ? ? minRatio: 0.8
? ? ? })
? ? ]
? }

第三步 

注釋掉vue項(xiàng)目中使用 import 引入的vue,elementUI等方法

//注釋掉main.js中的相關(guān)的代碼
// import Vue from 'vue'
// import NProgress from 'nprogress'
// import 'nprogress/nprogress.css'
// import ElementUI from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'
// Vue.use(ElementUI)
// 注釋掉 vuex中 下面的代碼
// import Vue from 'vue'
// import Vuex from 'vuex'
// Vue.use(Vuex)
//注釋掉 路由中 下面的代碼
// import Vue from 'vue'
// import VueRouter from 'vue-router'
// Vue.use(VueRouter)

以上三步基本能將你的項(xiàng)目壓縮到一定程度了,也是本人自己測(cè)試過(guò)很多次,很大程度的壓縮了項(xiàng)目的體積

至于為什么要注釋這幾個(gè)地方,是因?yàn)樵诘谝徊街?,像vue,axios,router,elementuUI等等,這些包都已經(jīng)從cdn服務(wù)器獲取了,所以就不需要在項(xiàng)目中引用了,所以打包時(shí)的體積會(huì)小很多,在使用gzip進(jìn)行壓縮,體積就會(huì)很小了

總結(jié)

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

相關(guān)文章

  • vue3之向echarts組件傳值的問(wèn)題分析

    vue3之向echarts組件傳值的問(wèn)題分析

    這篇文章主要介紹了vue3之向echarts組件傳值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue配置接口域名方法總結(jié)

    vue配置接口域名方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于vue配置接口域名方法和相關(guān)知識(shí)點(diǎn)總結(jié),需要的朋友們跟著操作下。
    2019-05-05
  • vant中field組件label屬性?xún)啥藢?duì)齊問(wèn)題及解決

    vant中field組件label屬性?xún)啥藢?duì)齊問(wèn)題及解決

    這篇文章主要介紹了vant中field組件label屬性?xún)啥藢?duì)齊問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue移動(dòng)端實(shí)現(xiàn)左滑編輯與刪除的全過(guò)程

    vue移動(dòng)端實(shí)現(xiàn)左滑編輯與刪除的全過(guò)程

    vue.js是現(xiàn)在流行的js框架之一,vue 是一套用于構(gòu)建用戶(hù)界面的漸進(jìn)式j(luò)avascript框架,這篇文章主要給大家介紹了關(guān)于vue移動(dòng)端實(shí)現(xiàn)左滑編輯與刪除的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • vue中使用Cesium加載shp文件、wms服務(wù)、WMTS服務(wù)問(wèn)題

    vue中使用Cesium加載shp文件、wms服務(wù)、WMTS服務(wù)問(wèn)題

    這篇文章主要介紹了vue中使用Cesium加載shp文件、wms服務(wù)、WMTS服務(wù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue實(shí)現(xiàn)定位并解決內(nèi)存泄漏

    Vue實(shí)現(xiàn)定位并解決內(nèi)存泄漏

    Vue.js?是一個(gè)流行且強(qiáng)大的?JavaScript?框架,它允許我們構(gòu)建動(dòng)態(tài)和交互式?Web?應(yīng)用程序,本文我們將深入探討?Vue.js?應(yīng)用程序中內(nèi)存泄漏的原因,并探索如何定位和修復(fù)這些問(wèn)題的有效策略,希望對(duì)大家有所幫助
    2023-09-09
  • 淺談Vue3 父子傳值

    淺談Vue3 父子傳值

    這篇文章主要介紹了基于Vue中的父子傳值問(wèn)題解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • vue項(xiàng)目引入antDesignUI組件實(shí)現(xiàn)

    vue項(xiàng)目引入antDesignUI組件實(shí)現(xiàn)

    本文介紹了如何以Vue引入antDesignUI,主要包括下載安裝、配置和引入組件等步驟,通過(guò)本文,讀者可以快速了解antDesignUI在Vue中的應(yīng)用,感興趣的可以了解一下
    2023-08-08
  • vue項(xiàng)目引入Iconfont圖標(biāo)庫(kù)的教程圖解

    vue項(xiàng)目引入Iconfont圖標(biāo)庫(kù)的教程圖解

    這篇文章主要介紹了vue項(xiàng)目引入Iconfont圖標(biāo)庫(kù)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • vue 自定指令生成uuid滾動(dòng)監(jiān)聽(tīng)達(dá)到tab表格吸頂效果的代碼

    vue 自定指令生成uuid滾動(dòng)監(jiān)聽(tīng)達(dá)到tab表格吸頂效果的代碼

    這篇文章主要介紹了vue 自定指令生成uuid滾動(dòng)監(jiān)聽(tīng)達(dá)到tab表格吸頂效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論