解決vue-cli webpack打包開(kāi)啟Gzip 報(bào)錯(cuò)問(wèn)題
前兩天項(xiàng)目上線,用vue-cli npm run build
命令打包,打包完成后我擦嚇了一跳,15M。本來(lái)暫時(shí)不打算優(yōu)化的,但是每次看著部署包這么大,想想還是先優(yōu)化一下,讓包好看點(diǎn),免得以后出現(xiàn)心理陰影!
在把 map文件干掉后,發(fā)現(xiàn)webpack這打包的速度,也忒感人了。在進(jìn)行不自動(dòng)生成 map文件設(shè)置時(shí),有看到webpack自帶的productionGzip
功能,索性就一次性一起鼓搗鼓搗。
下面是瞎鼓搗歷程,差點(diǎn)就鼓搗不出來(lái)了。
1、在項(xiàng)目 根目錄config/index.js
中build內(nèi)找到productionGzip: false,把false改為true。與 productionSourceMap 剛好相反。
屬性值修改后,這個(gè)時(shí)候可以執(zhí)行 npm run build。但是會(huì)報(bào)錯(cuò),提示找不到 "Cannot find module 'compression-webpack-plugin'"
2、也就是說(shuō)需要安裝依賴(lài)compression-webpack-plugin 官方推薦的命令是:(但是網(wǎng)不好的話就涼涼了)
npm install --save-dev compression-webpack-plugin //在沒(méi)有給定版本號(hào)時(shí)該命令默認(rèn)安裝最新版compression-webpack-plugin,問(wèn)題恰恰就出在這
安裝完成以后,重新運(yùn)行 npm run build
,然后悲劇了:
從報(bào)錯(cuò)顯示獲知,是配置選項(xiàng)驗(yàn)證失敗,但是是哪一項(xiàng)驗(yàn)證失敗,或者那些項(xiàng)驗(yàn)證失敗就不曉得了,打開(kāi)報(bào)錯(cuò)日志,越看越蒙圈了,一臉茫然。從源代碼里面也沒(méi)看出個(gè)所以然。
從校驗(yàn)參數(shù)來(lái)看,參數(shù)就兩個(gè),但是第一個(gè)參數(shù)內(nèi)屬性很多。
,從結(jié)果看是這行代碼里面執(zhí)行的校驗(yàn)失敗了。至于這行代碼執(zhí)行的什么,水平不夠查不下去了。
最后沒(méi)得法了,只能去官網(wǎng) https://www.npmjs.com/package/compression-webpack-plugin上看看,有么得啥突破。進(jìn)去第一眼就瞄到了 2.0.0•Public•Published3 months ago,一下就感覺(jué)有點(diǎn)不對(duì)了,一般小版本的更新都是 1.xx.xx,很少這種直接全零的,全零的一般適用于大版本的升級(jí)更新,再看看上面的配置項(xiàng)檢驗(yàn)失敗,選項(xiàng)屬性匹配不上。突然有種莫名被坑的感覺(jué)。接著看下面的介紹和文檔,①先對(duì)應(yīng)了下node的版本 node@v8.11.3,還在匹配的范圍內(nèi)。② Requirements:This module requires a minimum of Node v6.9.0 and Webpack v4.0.0 (此模塊最低需要 Nodev6.9.0和Webpack v4.0.0),我這webpack版本明顯差一大截。這下總算找到癥結(jié)所在了。
3、找到癥結(jié)所在,那處理起來(lái)就簡(jiǎn)單了。既然最新版本太高,在用的webpack高攀不起,那就只能給它降級(jí)了,木得法。
①卸載已經(jīng)安裝的最新版2.0compression-webpack-plugin
安裝包。
npm uninstall --save-dev compression-webpack-plugin
?、?重新安裝1.1.12版本(該版本為1.1的最新版)。卸載其實(shí)可以不用,直接執(zhí)行安裝命令,進(jìn)行版本覆蓋也行。
npm install --save-dev compression-webpack-plugin@1.1.12 //記得帶版本號(hào)
?、鄣劝惭b好之后,重新執(zhí)行 npm run build
進(jìn)行打包,終于成功了,真他媽艱難!
安裝過(guò)程中,還遇到另外一個(gè)問(wèn)題。網(wǎng)速和墻的問(wèn)題:
這個(gè)倒是好解決,使用淘寶鏡像 就行。 安裝過(guò)程以及可能出現(xiàn)的問(wèn)題和解決 可以移步http://www.dbjr.com.cn/article/166090.htm進(jìn)行參考!
總結(jié)
以上所述是小編給大家介紹的解決vue-cli webpack打包開(kāi)啟Gzip 報(bào)錯(cuò)問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Vue中引入使用patch-package為依賴(lài)打補(bǔ)丁問(wèn)題
這篇文章主要介紹了Vue中引入使用patch-package為依賴(lài)打補(bǔ)丁問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03Vue項(xiàng)目通過(guò)node連接MySQL數(shù)據(jù)庫(kù)并實(shí)現(xiàn)增刪改查操作的過(guò)程詳解
最近在研究vue項(xiàng)目中使用node.js搭建server服務(wù)器,鏈接本地mysql數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)操作,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目通過(guò)node連接MySQL數(shù)據(jù)庫(kù)并實(shí)現(xiàn)增刪改查操作的相關(guān)資料,需要的朋友可以參考下2022-05-05Vue+Element實(shí)現(xiàn)網(wǎng)頁(yè)版?zhèn)€人簡(jiǎn)歷系統(tǒng)(推薦)
這篇文章主要介紹了Vue+Element實(shí)現(xiàn)網(wǎng)頁(yè)版?zhèn)€人簡(jiǎn)歷系統(tǒng),需要的朋友可以參考下2019-12-12詳解polyfills如何按需加載及場(chǎng)景示例詳解
這篇文章主要為大家介紹了詳解polyfills如何按需加載及場(chǎng)景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02解決Vue3.0刷新頁(yè)面警告[Vue Router warn]:No match 
這篇文章主要介紹了解決Vue3.0刷新頁(yè)面警告[Vue Router warn]:No match found for location with path /xxx問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03