国产chinesehd精品酒店,邱淑贞aa极毛片,国产在线色视频,玖玖爱zh综合伊人久久

網(wǎng)站首頁(yè)
手機(jī)版

webpack打包優(yōu)化怎么做 webpack4打包優(yōu)化

更新時(shí)間:2022-12-11 15:13:51作者:佚名

webpack打包優(yōu)化怎么做 webpack4打包優(yōu)化

  很多用Vue開發(fā)的項(xiàng)目中,都會(huì)遇到首屏加載慢,chunk-vendor.js動(dòng)不動(dòng)就好幾MB,那么如何通過(guò)Vue的內(nèi)部配置去優(yōu)化我們的Vue項(xiàng)目呢?這是手頭的一個(gè)項(xiàng)目,同樣的源碼,同樣的服務(wù)器,打開了Disable cache,目前完全加載是6.82秒

webpack打包優(yōu)化怎么做(vue webpack配置教程)(1)

優(yōu)化后,加載時(shí)間才2.59秒,提升了60%的加載

webpack打包優(yōu)化怎么做(vue webpack配置教程)(2)

其實(shí)出發(fā)點(diǎn)還是比較好理解的,壓縮js和使用CDN因?yàn)槲疫@邊用的Linux服務(wù)器,然后安裝的寶塔,使用的Nginx,默認(rèn)是開啟了Gzip,所以我們可以先安裝compression-webpack-pluginyarn add compression-webpack-plugin或者npm install compression-webpack-plugin


  然后,我們?cè)趘ue.config.js中做如下的配置const CompressionWebpackPlugin = require('compression-webpack-plugin')module.exports = { productionSourceMap: false, configureWebpack: config => { if (isProduction) { // 開啟gzip壓縮 config.plugins.push(new CompressionWebpackPlugin({ algorithm: 'gzip', test: /\.js$|\.html$|\.json$|\.css/, threshold: 10240, minRatio: 0.8 })) } }}

  這樣,Gzip就可以在打包的時(shí)候生成了,如下圖,打包前后體積還是很明顯的,但是這樣是不夠的

webpack打包優(yōu)化怎么做(vue webpack配置教程)(3)

為了防止文件過(guò)大,我們先把公共代碼分離config.optimization = { runtimeChunk: 'single', splitChunks: { chunks: 'all', maxInitialRequests: Infinity, minSize: 20000, cacheGroups: { vendor: { test: /[\\/]node_modules[\\/]/, name(module) { const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1] return `npm.${packageName.replace('@', '')}` } } } }}


  打包后的效果,如下圖

webpack打包優(yōu)化怎么做(vue webpack配置教程)(4)

那么,在最后就是用CDN這里就引入一個(gè)vue.js作為例子config.externals = { vue: 'Vue'}


  需要在你的public/index.html的body標(biāo)簽中引用對(duì)應(yīng)版本的vue.js

webpack打包優(yōu)化怎么做(vue webpack配置教程)(5)

然后整體打包,ok,附上完整的vue.config.jsconst path = require('path')const CompressionWebpackPlugin = require('compression-webpack-plugin')const appname = 'index'function resolve(dir) { return path.join(__dirname, dir)}const isProduction = process.env.NODE_ENV === 'production'// vue.config.jsmodule.exports = { productionSourceMap: false, outputDir: appname + 'OutPutFile', // 運(yùn)行時(shí)生成的生產(chǎn)環(huán)境構(gòu)建文件的目錄(默認(rèn)""dist"",構(gòu)建之前會(huì)被清除) assetsDir: appname + 'public', //放置生成的靜態(tài)資源(s、css、img、fonts)的(相對(duì)于 outputDir 的)目錄(默認(rèn)"") indexPath: appname + '.html', //指定生成的 index.html 的輸出路徑(相對(duì)于 outputDir)也可以是一個(gè)絕對(duì)路徑。 configureWebpack: config => { if (isProduction) { // 開啟gzip壓縮 config.plugins.push(new CompressionWebpackPlugin({ algorithm: 'gzip', test: /\.js$|\.html$|\.json$|\.css/, threshold: 10240, minRatio: 0.8 })) config.optimization = { runtimeChunk: 'single', splitChunks: { chunks: 'all', maxInitialRequests: Infinity, minSize: 20000, cacheGroups: { vendor: { test: /[\\/]node_modules[\\/]/, name(module) { const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1] return `npm.${packageName.replace('@', '')}` } } } } } config.performance = { hints: 'warning', //入口起點(diǎn)的最大體積 maxEntrypointSize: 50000000, //生成文件的最大體積 maxAssetSize: 30000000, //只給出 js 文件的性能提示 assetFilter: function(assetFilename) { return assetFilename.endsWith('.js') } } config.externals = { vue: 'Vue' } } }, chainWebpack: (config) => { config.resolve.alias .set('@$', resolve('src')) .set('@api', resolve('src/api')) .set('@assets', resolve('src/assets')) .set('@comp', resolve('src/components')) .set('@views', resolve('src/views')) .set('@layout', resolve('src/layout')) .set('@static', resolve('src/static')) }, css: { }, lintOnSave: undefined}


  最后的一點(diǎn)建議,如果條件允許,能走cdn盡量走cdn,效果還是比較驚人的。


本文標(biāo)簽: [db:關(guān)鍵詞]  

為您推薦

關(guān)于開展2022年12月中山市普通話水平測(cè)試的公告

2022年12月中山普通話水平測(cè)試網(wǎng)上預(yù)報(bào)名時(shí)間為12月6日上午8:30,額滿即止

2022-12-12 00:39

中山板芙醫(yī)院核酸檢測(cè)指引 中山板芙醫(yī)院核酸檢測(cè)指引查詢

從12月6日起,板芙醫(yī)院急診科核酸采樣區(qū)僅提供愿檢盡檢人群自費(fèi)單采單檢服務(wù),時(shí)間為22:0O-次日8:30。

2022-12-12 00:39

中山大涌醫(yī)院核酸檢測(cè)最新指引 中山大涌醫(yī)院可以核酸檢測(cè)嗎

即日起,大涌醫(yī)院普通核酸采樣點(diǎn)為愿檢盡檢人員僅提供自費(fèi)檢測(cè)(單人單管)服務(wù),費(fèi)用為12.5元,不提供混采。

2022-12-12 00:39

360安全衛(wèi)士有用嗎(360安全衛(wèi)士有用嗎手機(jī))

360安全衛(wèi)士windows10電腦版是360和微軟合作推出的一款電腦安全防護(hù)軟件,該版本除了經(jīng)典的查殺修復(fù)、電腦清理、優(yōu)化加速、安全防護(hù)中心等功能之外,最主要的是:可以免費(fèi)將你的winxp\wi

2022-12-12 00:30

共享文件誤刪除如何恢復(fù)(共享文件夾誤刪除怎么恢復(fù))

回收站刪除的文件怎么恢復(fù)win10?你在使用電腦到現(xiàn)在時(shí)候有刪除過(guò)文件呢?相信不用說(shuō)就知道是一定有的,那么有沒(méi)有發(fā)生過(guò)刪除之后又在回收站里進(jìn)行了二次刪除了呢?如果真的發(fā)生了這種情況的話,那我們?cè)撛?/a>

2022-12-12 00:30

電腦格式化u盤失敗怎么辦(電腦格式化u盤失敗怎么辦恢復(fù))

SD存儲(chǔ)卡或U盤是我們手機(jī)和數(shù)碼相機(jī)等移動(dòng)設(shè)備經(jīng)常使用的外置存儲(chǔ)設(shè)備,它不但能夠?yàn)橐苿?dòng)設(shè)備存儲(chǔ)數(shù)據(jù),還能通過(guò)讀卡器等設(shè)備與電腦連接進(jìn)行數(shù)據(jù)交換??旖莸牟灏畏绞綆?lái)便利的同時(shí)也對(duì)SD存儲(chǔ)卡或U盤帶來(lái)

2022-12-12 00:30