文章插图
【webpack打包优化怎么做 webpack打包优化做过什么吗?】很多用Vue开发的项目中 , 都会遇到首屏加载慢,chunk-vendor.js动不动就好几MB,那么如何通过Vue的内部配置去优化我们的Vue项目呢?这是手头的一个项目,同样的源码,同样的服务器,打开了Disable cache,目前完全加载是6.82秒
然后整体打包,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'http:// vue.config.jsmodule.exports = { productionSourceMap: false, outputDir: appname + 'OutPutFile', http:// 运行时生成的生产环境构建文件的目录(默认""dist"",构建之前会被清除) assetsDir: appname + 'public', http://放置生成的静态资源(s、css、img、fonts)的(相对于 outputDir 的)目录(默认"") indexPath: appname + '.html', http://指定生成的 index.html 的输出路径(相对于 outputDir)也可以是一个绝对路径 。configureWebpack: config => { if (isProduction) { http:// 开启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', http://入口起点的最大体积 maxEntrypointSize: 50000000, http://生成文件的最大体积 maxAssetSize: 30000000, http://只给出 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 , 效果还是比较惊人的 。
推荐阅读
- 苹果密码是什么 苹果密码是什么格式
- 科学计算器简易教程功能键说明图 科学计算器的使用方法
- 泰山海拔到底有多少米? 泰山海拔2795米还是1545米
- 大连最值得去的10个旅行地 大连最值得去的旅游景点
- 微信朋友圈内容怎么快速删除 一键清空朋友圈别人发的内容
- 红参补气血配方大全 红参补气补血最快的方法
- 谈判和辩论的区别和联系 谈判与辩论的相同点
- 自带水杯温馨提示语 自带水杯温馨提示语简短
- 电饼铛还是平底锅实用一点 电饼铛还是平底锅实用