利用report分析vue項(xiàng)目中各文件大小
report分析vue項(xiàng)目中各文件大小
vendor.js
在Vue項(xiàng)目中,引入到工程中的所有js、css文件,編譯時(shí)都會(huì)被打包進(jìn)vendor.js,瀏覽器在加載該文件之后才能開(kāi)始顯示首屏。
若是引入的庫(kù)眾多,那么vendor.js文件體積將會(huì)相當(dāng)?shù)拇?,影響首開(kāi)的體驗(yàn)。
vue-cli 4 使用report分析vendor.js
Vue Cli(@/vue/cli)自帶的webpack包體積優(yōu)化工具,它可以查看各個(gè)模塊的size大小,方便優(yōu)化。
只需要在build后面加上 --report 參數(shù)即可。
1、 我們把命令配置到package.json里
"scripts": {
? "serve": "vue-cli-service serve",
? "build": "vue-cli-service build",
? "report": "vue-cli-service build --report" ?//加入該行
},2、執(zhí)行npm run report 打包并生成report
注意:網(wǎng)上很多說(shuō)要先安裝webpack-bundle-analyzer包,其實(shí)不需要安裝。
3、運(yùn)行 npm run report 后
會(huì)在 build 的同時(shí),在dist目錄會(huì)生成一個(gè)report.html,打開(kāi)后可看到各文件占用大小
vue項(xiàng)目打包文件大小分析
vuecli3.0項(xiàng)目搭建與webpack-bundle-analyzer分析
首先說(shuō)一下vuecli低版本與cli3.0的項(xiàng)目結(jié)構(gòu)的區(qū)別
少了build config 文件夾 如果需要進(jìn)行webpack等配置
需要在根目錄新建 vue.config.js

cli低版本

cli高版本
vue.config.js 文件內(nèi)容 本次只記錄 打包大小分析以及優(yōu)化包大小
module.exports = {
publicPath: './',
// 輸出文件目錄
outputDir: 'dist',
// 靜態(tài)資源目錄 (js, css, img, fonts)
assetsDir: 'assets',
// webpack-dev-server 相關(guān)配置
devServer: {
// 默認(rèn)打開(kāi)瀏覽器
open: true,
// 端口號(hào)
port: 8080,
},
// webpack 配置
chainWebpack: (config) => {
// 第一 增加打包文件大小分析
if (process.env.use_analyzer) {
config
.plugin('webpack-bundle-analyzer')
.use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
}
},
//webpack配置
configureWebpack: config => {
//警告 webpack 的性能提示
config.performance = {
hints: 'warning',
//入口起點(diǎn)的最大體積
maxEntrypointSize: 50000000,
//生成文件的最大體積
maxAssetSize: 30000000,
//只給出 js 文件的性能提示
assetFilter: function (assetFilename) {
return assetFilename.endsWith('.js');
}
},
// 打包忽略
config.externals = {
'vue': 'Vue',
'vue-router': 'VueRouter',
'element-ui': 'ELEMENT'
}
}
}第一 打包分析 webpack-bundle-analyzer
首先 下載依賴(lài) npm intall webpack-bundle-analyzer –save-dev
其次 在vue.config.js文件配置
chainWebpack: config => {
? ? ? ? config
? ? ? ? ? ? .plugin('webpack-bundle-analyzer')
? ? ? ? ? ? .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
? ? }
可以再package.json加入啟動(dòng)的命令
"scripts": {
"analyz": "use_analyzer=true npm run serve"
}效果圖

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Vue使用bus總線時(shí),第一次路由跳轉(zhuǎn)時(shí)數(shù)據(jù)沒(méi)成功傳遞問(wèn)題
這篇文章主要介紹了解決Vue使用bus總線時(shí),第一次路由跳轉(zhuǎn)時(shí)數(shù)據(jù)沒(méi)成功傳遞問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
vue中實(shí)現(xiàn)先請(qǐng)求數(shù)據(jù)再渲染dom分享
下面小編就為大家分享一篇vue中實(shí)現(xiàn)先請(qǐng)求數(shù)據(jù)再渲染dom分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
vue3+Element Plus實(shí)現(xiàn)自定義穿梭框的詳細(xì)代碼
找到一個(gè)好用的vue樹(shù)形穿梭框組件都很難,又不想僅僅因?yàn)橐粋€(gè)穿梭框在element-ui之外其他重量級(jí)插件,本文給大家分享vue3+Element Plus實(shí)現(xiàn)自定義穿梭框的示例代碼,感興趣的朋友一起看看吧2024-01-01
vue3+vite項(xiàng)目運(yùn)行后實(shí)現(xiàn)自動(dòng)在瀏覽器打開(kāi)
文章介紹了如何使用Vue 3和Vite創(chuàng)建項(xiàng)目,并提供了一個(gè)簡(jiǎn)單的步驟指南,包括在package.json文件中進(jìn)行配置,希望這篇經(jīng)驗(yàn)分享對(duì)大家有所幫助,并鼓勵(lì)大家支持腳本之家2026-01-01
開(kāi)發(fā)一個(gè)封裝iframe的vue組件
這篇文章主要介紹了開(kāi)發(fā)一個(gè)封裝iframe的vue組件,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-03-03
詳解Vue.js搭建路由報(bào)錯(cuò) router.map is not a function
這篇文章主要介紹了詳解Vue.js搭建路由報(bào)錯(cuò) router.map is not a function,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06

