首页 > 其他分享 >【Webpack】418- 深度优化 Webpack 性能,翻倍构建性能

【Webpack】418- 深度优化 Webpack 性能,翻倍构建性能

时间:2022-10-24 13:34:35浏览次数:94  
标签:缓存 plugin CDN webpack 我们 Webpack 构建 418 性能


0.背景

随着构建体系不断完善、构建体验不断优化,webpack 已经逐渐成为了前端构建体系的一大霸主,对于工作中的真正意义上的前端工程项目,webpack 已经成为了我们前端构建技术选型的不二选择,包括 ​​create-react-app​​​ 以及 ​​vue-cli​​ 等等业内常见的脚手架工具的构建体系,也都是基于 webpack 进行了上层封装。但随着业务代码不断增加,项目深度不断延伸,我们的构建时长也会因此不断增加。渐渐的,总会有人抛出这样的结论:webpack 构建太慢了、太“重”了。就以笔者本次近期为团队优化的项目为例,如下图所示,我们可以看到,随着项目的不断堆砌以及一些不正确的引用,团队内的项目单次构建时长已经达到了40s,这就造成了工程师如果需要重启 devServer 或者执行 build,都会造成很不好的体验。

【Webpack】418- 深度优化 Webpack 性能,翻倍构建性能_多核

而经过优化后,二次启动的时长能接近8s。那是什么样的神仙操作能有如此效果呢?不着急,我们一步步往下看,只要你跟着我的步骤,或许只需要一个晚上,你也能将你们的团队项目的构建体系做出进一步优化。

【Webpack】418- 深度优化 Webpack 性能,翻倍构建性能_多核_02

不过在正文开始之前,首先需要提前说明一点,本次文章介绍的构建效率提升手段是基于 webpack4 进行的,对于使用老版本的项目,如何从老版本升级到 webpack4 的流程我就不做过多介绍了,因为不论是掘金还是各种论坛上你都能搜到太多优质的文章了,所以对于大部分的基础知识,比如 ​​webpack-dev-server​​ 相关配置,还有一些常见的 plugin,在本文就不会较多提及。而对于那些持续跟进 webpack 版本的同学,我相信你们也知道现阶段 webpack5 也已经呼之欲出了,下图是官方给出的里程碑进度,趁着目前只更新到64%,笔者赶紧先发一波软文,或许到了5的时代,笔者今天所介绍的优化方式,或许都已经被集成到 webpack 自身的体系中了,谁让它一天天都在不断变好呢

标签:缓存,plugin,CDN,webpack,我们,Webpack,构建,418,性能
From: https://blog.51cto.com/u_11887782/5789503

相关文章

  • tideways+toolkit对php代码进行性能分析
    安装tideways拓展gitclonehttps://github.com/tideways/php-xhprof-extension.gitcdphp-xhprof-extension//usr/local/php-7.4.24/bin/phpize./configure--with-php-co......
  • TechEmpower 13轮测试中的ASP.NET Core性能测试
    我们看看各个web框架的性能,以TPS为指标排序(每秒返回的response多的在前面,性能越好),所有测试都在Linux中运行。在对比中,我们看到ASP.NETCore取得优异的......
  • .NET性能系列文章一:.NET7的性能改进
    这些方法在.NET7中变得更快照片来自CHUTTERSNAP的Unsplash欢迎阅读.NET性能系列的第一章。这一系列的特点是对.NET世界中许多不同的主题进行研究、比较性能。正如标......
  • 【Golang】通过Go Ballast 控制内存来优化性能
    一、关于GoGC优化的手段设置GOGC /debug.SetGCPercent()这两种方式的原理和效果都是一样的,GOGC默认值是100,也就是下次GC触发的heap的大小是这次GC之后的......
  • Linux性能监控工具(二)-top
    top命令可以用来监控服务器CPU、内存的运行情况,是Linux一个经常使用到的命令。基本用法第一行显示当前系统运行信息,系统当前时间是23:23:21,运行了315days,当前有2个用......
  • 磁盘性能测试工具-FIO的安装及使用
    目录FIO介绍FIO安装在线安装离线安装磁盘测试命令行方式测试结果说明命令参数说明配置文件方式dd命令介绍使用方法FIO介绍FIO是一款测试IOPS的工具,用于对磁盘进行压力测......
  • Where.FirstOrDefault和FirstOrDefault的性能对比
    最近开发过程中发现大家筛选数据的时候有两种写法,一种是Where().FirstOrDeafult(),另一种是直接使用了FisrOrDeFault()于是自己写了一个简单的demo来进行测试(如果各位大神有......
  • 2022-2023-1 20221418 《计算机基础与程序设计》第八周学习总结
    2022-2023-120221418《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里(2022-2023......
  • 【RocketMQ入门到精通】— RocketMQ初级特性能力 | RocketMQ中的Subscribe都是什么样
    名言警句任何先进的技术均与魔法无异追本溯源​​经历了6个月的失踪,我将带着干货终究归来!【RocketMQ入门到精通】​​消息消费通常需要考虑消息队列负载、消费模式、拉取机......
  • webpack学习
    目录什么是webpack?什么是构建工具?为什么要用webpack?webpack的核心配置Entryoutputloaderpluginsmodewebpack打包命令小结:webpack配置信息样板基本配置信息react项目中路径......