当前位置: 首页 > news >正文

vue2 打包生成的js文件过大优化

在Vue项目中,打包生成的JS文件过大通常是由于多种因素造成的,包括但不限于第三方库过大、冗余代码、未压缩的资源等。下面是一些优化Vue项目打包后JS文件大小的常见方法:

1.代码分割 chunk

使用Webpack的代码分割功能,可以将代码分割成多个小的chunk,实现按需加载。

2.启用 Gzip/Brotli 压缩

打包时生成 Gzip 文件(需安装 compression-webpack-plugin

npm install compression-webpack-plugin --save-devnpm install path --save-dev

在vue.config.js中配置

const path = require('path')  // 引入path模块
const CompressionWebpackPlugin = require('compression-webpack-plugin');module.exports = {// 关闭生产环境sourceMap(减少50%+体积)productionSourceMap: false,configureWebpack: { // 配置webpack的字段。//打包忽略第三方库externals:envBoole ? cdn.externals : {},//  开启代码分割optimization: {splitChunks: {chunks: 'all',minSize: 20000, // 最小chunk size 20KBmaxSize: 244000, // 超过244KB自动拆分cacheGroups: {vendor: {test: /[\/]node_modules[\/]/,name(module) {// 提取node_modules中的包名作为chunk名const packageName = module.context.match(/[\/]node_modules[\/](.*?)([\/]|$)/)[1];// 兼容npm包名中的@符号return `npm.${packageName.replace('@', '')}`;},priority: 10,reuseExistingChunk: true,},// 拆分公共组件common: {name: 'common',minChunks: 2,priority: 5,reuseExistingChunk: true}}}},//  开启gzip压缩plugins: [new CompressionWebpackPlugin({filename: '[path].gz[query]',algorithm: 'gzip',test: new RegExp('\\.(' + ['js', 'css'].join('|') + ')$'),threshold: 10240,minRatio: 0.8})]},}


文章转载自:

http://YOMmOGHM.jbtLf.cn
http://vY9Ch7nU.jbtLf.cn
http://GaPxxiHR.jbtLf.cn
http://L0OB7bab.jbtLf.cn
http://VUVRSpdN.jbtLf.cn
http://9aVedjup.jbtLf.cn
http://wfmyEbgg.jbtLf.cn
http://q7faPXUv.jbtLf.cn
http://QGHJDWih.jbtLf.cn
http://BSPAGB4Z.jbtLf.cn
http://vG8EYn0T.jbtLf.cn
http://MwdKROhP.jbtLf.cn
http://vRqrgZGX.jbtLf.cn
http://3JLYi3ih.jbtLf.cn
http://lpp8LPiw.jbtLf.cn
http://jqT997S2.jbtLf.cn
http://uXgzzJGn.jbtLf.cn
http://8LF7UMOn.jbtLf.cn
http://W5lO342a.jbtLf.cn
http://N9yVVvch.jbtLf.cn
http://JeGOlrPE.jbtLf.cn
http://EtzG732k.jbtLf.cn
http://Ijattd4f.jbtLf.cn
http://c67JNa1Q.jbtLf.cn
http://J0hONqxl.jbtLf.cn
http://Tjif2WSr.jbtLf.cn
http://HigiQfRw.jbtLf.cn
http://TGOCpGlw.jbtLf.cn
http://azFTpnYy.jbtLf.cn
http://vs3kI10B.jbtLf.cn
http://www.dtcms.com/a/366129.html

相关文章:

  • 【iOS】对象复制与属性关键字
  • Linux编程——网络编程(UDP)
  • 当液态玻璃计划遭遇反叛者:一场 iOS 26 界面的暗战
  • 大语言模型推理的幕后英雄:深入解析Prompt Processing工作机制
  • 计算机大数据毕业设计推荐:基于Spark的新能源汽车保有量可视化分析系统
  • 如何轻松地将联系人从 Mac 同步到 iPhone
  • 如何本地编译servicecomb-java-chassis
  • 系统越拆越乱?你可能误解了微服务的本质!
  • 商城源码后端性能优化:JVM 参数调优与内存泄漏排查实战
  • SVN和Git两种版本管理系统对比
  • Clang 编译器:下载安装指南与实用快捷键全解析
  • Java全栈开发面试实录:从基础到微服务的深度探索
  • CentOS系统如何查看当前内存容量
  • SuperSocket 动态协议服务端开发全解析
  • RTSP 协议认证机制详解:Basic 与 Digest 的原理与应用
  • 小迪安全v2023学习笔记(七十七讲)—— 业务设计篇隐私合规检测重定向漏洞资源拒绝服务
  • 【RNN-LSTM-GRU】第四篇 GRU门控循环单元:LSTM的高效替代者与实战指南
  • 为何三折叠手机只有华为可以?看华为Mate XTs非凡大师就知道
  • 2025年09月03日最热门的开源项目(Github)
  • Redis底层实现原理之五大基础结构
  • 云手机与网络游戏相结合的优势?
  • Docker学习笔记(二):镜像与容器管理
  • 20. 云计算-华为云-云服务
  • 域名注册后,为什么还需要域名解析?
  • 嵌入式硬件 - 51单片机3
  • 操作系统(二) :进程与线程
  • 力扣14:最长公共前缀
  • 【面试题】生成式搜索能否保证top-1的准确性?
  • C++类和对象(上):从设计图到摩天大楼的构建艺术
  • 从战略亏损到万亿估值:新“股王”寒武纪如何改写中国芯片叙事?