webpack打包优化怎么做 vue webpack打包优化
好酷屋教程网小编为您收集和整理了webpack打包优化怎么做 vue webpack打包优化的相关教程:很多用Vue开发的项目中,都会遇到首屏加载慢,chunk-vendor.js动不动就好几MB,那么如何通过Vue的内部配置去优化我们的Vue项目呢?这是手头的一个项目,同样的源码,同样的服务器,打开了
很多用Vue开发的项目中,都会遇到首屏加载慢,chunk-vendor.js动不动就好几MB,那么如何通过Vue的内部配置去优化我们的Vue项目呢?这是手头的一个项目,同样的源码,同样的服务器,打开了Disable cache,目前完全加载是6.82秒
优化后,加载时间才2.59秒,提升了60%的加载
其实出发点还是比较好理解的,压缩js和使用CDN因为我这边用的Linux服务器,然后安装的宝塔,使用的Nginx,默认是开启了Gzip,所以我们可以先安装compression-webpack-pluginyarn add compression-webpack-plugin或者npm install compression-webpack-plugin
然后,我们在vue.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就可以在打包的时候生成了,如下图,打包前后体积还是很明显的,但是这样是不够的
为了防止文件过大,我们先把公共代码分离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('@', '')}` } } } }}
打包后的效果,如下图
那么,在最后就是用CDN这里就引入一个vue.js作为例子config.externals = { vue: 'Vue'}
需要在你的public/index.html的body标签中引用对应版本的vue.js
然后整体打包,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', // 运行时生成的生产环境构建文件的目录(默认""dist"",构建之前会被清除) assetsDir: appname + 'public', //放置生成的静态资源(s、css、img、fonts)的(相对于 outputDir 的)目录(默认"") indexPath: appname + '.html', //指定生成的 index.html 的输出路径(相对于 outputDir)也可以是一个绝对路径。 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', //入口起点的最大体积 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}
最后的一点建议,如果条件允许,能走cdn尽量走cdn,效果还是比较惊人的。
以上就是好酷屋教程网小编为您收集和整理的[db:关键词]相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/wenhua/642a878340b58a926105d299.html
相关推荐
热门专题
女生游戏昵称简短唯美 女生游戏昵称简短唯美可爱
1、空留一抹胭脂红2、军中绿花3、卿弦季鸢4、一季烟雨凉5、╰茶靡微凉6、半盏流年7、古调弦音一曲成悲8、南独酌酒9、剑断青丝10、哭诉悲欢离合ら11、凉生初雨12、为伊消得人憔悴司马懿到底熬死了多少人?他爷爷司马儁怎么读?
司马懿到底熬死了多少人?在平均寿命26岁的三国时期,司马懿活了72岁,几乎熬过了整个三国。 司马懿40岁的时候,看着44岁的Z敌杨修,因为耍小聪明,断送了前程和性命。 41岁的时候,熬死了一直想除掉他清道夫是谁带到中国的 清道夫鱼的介绍
1、清道夫是养观赏鱼的人带到中国的,二十年前清道夫最初是作为观赏鱼,从国外购买引进中国市场的。2、清道夫因喜食水族箱的残饵、污物而起到净化水质的作用,故而得名,又名吸盘鱼、吸口鲶,学名叫甲鲶,原产于南三国祢衡是被谁杀的?谁杀了祢衡?祢衡墓在哪里?
祢衡被何人所杀祢衡出生于中国的三国时期,字正平,是平原郡人,也就是现在山东德州临邑德这个地区。祢衡个性比较骄傲,但是颇具才华。孔融曾经向曹操推荐过祢衡这个人,只是祢衡以生病为借口不肯前去。曹操很生气,淮南田家庵暂缓复学通告(淮南田家庵高中)
各位家长朋友,同学们: 经研判,原定于5月5日的返校复学工作,因我市部分地区突发情况暂时推迟,待全区全员核酸检测安全后,将尽快复课,暂定5月9日分级分批复学,具体时间另行通知。近期各校仍继续实行线上微信昵称简短个性男生用 微信昵称简短个性男生用英文
1、不败灬哥2、生性高冷3、皆是孤独4、成王败寇5、葬曖6、冰魄7、孤傲战狼8、累赘9、怼烎10、醉酒盛唐11、很丑很抢手12、孤祭13、难折傲骨14、百战无畏15、暗香疏影16、杀手书生17、旧巷纸后人对张巡人物评价是什么?张巡杀妾的历史故事典故
张巡人物评价张巡是唐朝名臣,并世人尊奉为通真三太子。客观全面的来说,后人对张巡人物评价是什么呢?唐代诗人杜牧曾说:“张巡亦进士也,凡三入判等,以兵九千守雎阳城凡周岁,拒贼十三万兵,使贼不能钴弹的威力有多大
1、钴弹是威力巨大的炸弹,它的破坏性要比原子弹、氢弹还要大。2、要说明钴弹的运作原理,首先要知晓一下这两种钴的同位素:钴59、钴60。3、钴这种元素,在元素周期表中排名27,则表明它有27个质子,钴5别具一格的重庆酒文化
中国的传统酒文化博大精深,各地方的酒也都独具特色,拥有其明显的地域特征和文化内涵。各地酒因为风土人情的影响有着不同的特色和风味,还有不同的饮用习俗。在火热的重庆文化中,当然也少不了酒的存在,下面一起去5月6日(5月6日是什么星座)
福建省新型冠状病毒肺炎疫情情况 一、境外输入疫情 5月6日0~24时,福建省报告新增境外输入确诊病例2例(均为厦门市报告)。 当日无报告新增境外输入无症状感染者,解除隔离1例。 截至5月6