解決webpack-bundle-analyzer的問題大坑
webpack-bundle-analyzer的問題大坑
關(guān)于webpack-bundle-analyzer的問題大坑,會導(dǎo)致,打包后端口占用,復(fù)制一份代碼在起一個服務(wù),報(bào)錯端口占用,無法啟動。
報(bào)錯如下
解決辦法
1.首先引入webpack-bundle-analyzer模塊
安裝命令:npm install –save-dev webpack-bundle-analyzer
2.在webpack中的代碼配置 (vueCli3.0 舉例)
先說正常的流程的步驟:
2.1、在vue.config.js中進(jìn)行配置
chainWebpack: config => { config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin) }
2.2、在package.json中配置(或直接使用npm run build --report)
"scripts": { "analyz": "NODE_ENV=production npm_config_report=true npm run build" }
2.3、 只配置生產(chǎn)環(huán)境的打包
config.when(process.env.NODE_ENV === 'production', config => { config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin) })
2.4、執(zhí)行打包命令(會在瀏覽器自動打開http://127.0.0.1:8888)
npm run bulid
如果8888端口被占用,則提示打包失敗。
2.5、下面來說說端口被占用的處理方法:
首先要在vue.conf.js里
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
new BundleAnalyzerPlugin({ analyzerMode: 'server', analyzerHost: '127.0.0.1', analyzerPort: 8889, reportFilename: 'report.html', defaultSizes: 'parsed', openAnalyzer: true, generateStatsFile: false, statsFilename: 'stats.json', statsOptions: null, logLevel: 'info' }) }
if (config.build.bundleAnalyzerReport) { const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin webpackConfig.plugins.push(new BundleAnalyzerPlugin()) }
我是這么判斷的:
// 生產(chǎn)環(huán)境相關(guān)配置 if (isProduction) { config.plugins.push( new BundleAnalyzerPlugin({ analyzerMode: 'server', analyzerHost: '127.0.0.1', analyzerPort: 8880, reportFilename: 'report.html', defaultSizes: 'parsed', openAnalyzer: true, generateStatsFile: false, statsFilename: 'stats.json', statsOptions: null, logLevel: 'info' }), ) }
復(fù)制一份code再起一個服務(wù)的時(shí)候,只需要改:analyzerPort: 8880, 就可以了。
好啦,這樣在webpack里基本的配置就完成了,而且你npm run build 的時(shí)候就會自動打開網(wǎng)址,顯示你的打包后的js文件組成和大小。
最后就是引入和使用了
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue利用Blob下載原生二進(jìn)制數(shù)組文件
這篇文章主要為大家詳細(xì)介紹了Vue利用Blob下載原生二進(jìn)制數(shù)組文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09vue3中使用router路由實(shí)現(xiàn)跳轉(zhuǎn)傳參的方法
這篇文章主要介紹了vue3中使用router路由實(shí)現(xiàn)跳轉(zhuǎn)傳參的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Vue2實(shí)時(shí)監(jiān)聽表單變化的示例講解
今天小編就為大家分享一篇Vue2實(shí)時(shí)監(jiān)聽表單變化的示例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08vue-cli之引入Bootstrap問題(遇到的坑,以及解決辦法)
這篇文章主要介紹了vue-cli之引入Bootstrap問題(遇到的坑,以及解決辦法),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10Vue2+Elementui?Dialog實(shí)現(xiàn)封裝自定義彈窗組件
在日常的管理系統(tǒng)界面中,我們寫的最多的除了列表表格之外,就是各種彈窗組件,本文就來為大家詳細(xì)介紹一下Vue2如何結(jié)合Elementui?Dialog實(shí)現(xiàn)封裝自定義彈窗組件,希望對大家有所幫助2023-12-12使用vuex的時(shí)候,出現(xiàn)this.$store為undefined問題
這篇文章主要介紹了使用vuex的時(shí)候,出現(xiàn)this.$store為undefined問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06