Webpack 优化总结

webpack优化可以分为两部分:

  1. 开发环境性能优化
  2. 生产环境性能优化

开发环境性能优化

  • HMR: 热加载。
  • source-map: 一种提供代码到构建后代码映射的技术,能够优化代码调试。

生产环境性能优化

  • oneOf: 对文件进行匹配解析一次,不用经过每个loader。
  • babel缓存: 将运行结果进行缓存,提升下次打开速度,可通过设置cacheDirectory: truebabel-plugin-transform-runtime插件。
  • 缓存: hash | chunkHash | contentHash,提升构建速度。
  • tree shaking : 减少代码体积,去除无用代码。使用时需要满足两个条件,必须是ES6模块化,必须是production环境,满足以上两个条件时会自动实现 tree shaking,它会对使用的和未使用的模块进行区分标记,在UglifyJSPlugin阶段会将未使用的模块清除掉。
  • code split: 将代码进行分割多个文件,让文件可以并行加载,提升加载速度。
  • 多进程打包: 同一时间可以通过打包多个文件,提升打包速度。(注:每个进程开启和交流都会有开销,所以主要是针对消耗时间比较长的任务)
  • dll / externals: 对第三方库进行分别进行打包或者通过CDN等方式引入。
  • PWA: 使网站在离线状态也可以访问。
  • 懒加载/预加载: 使主要资源加载更快,提升首屏打开速度。
  • 代码压缩: 减小代码体积。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作者:小 boy (沪江前端开发工程师)本文原创,转载请注明作者及出处。原文地址:https://www.smas...
    iKcamp阅读 7,697评论 0 18
  • 京东PLUS会员项目是国内第一个电商付费会员项目,正式开通的会员数量已破千万。我团队从2016年接手这个项目的前端...
    沫之阅读 5,034评论 0 6
  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 10,715评论 4 31
  • babel官网 babel 介绍 Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel ...
    锋享前端阅读 5,825评论 0 10
  • 主要分为三个方面来优化 Vue 代码层面的优化 webpack 配置层面的优化 基础的 Web 技术层面的优化 一...
    alanwhy阅读 4,216评论 0 10

友情链接更多精彩内容