Webpack做过哪些性能优化(面试答案)

本文章自己整理,结合各种

两方面,一个是打包后产物的性能优化,一个是打包速度优化,

性能优化

1.代码分离,代码分离到不同的bundle中,之后可以按需加载,比如第三方依赖,首屏暂不使用的模块

代码分离方法:

1)入口起点:在entry配置手动分离代码Entry Dependencies(入口依赖)

注意引入时加defer,名字不能重复

2)自定义分包 (防止重复):通过使用插件,splitChunksPlugin来配置分离参数

optimization优化配置

例:类型,文件size minSize maxSize,并发数量等

webpack提供preload和prefetch的功能

3)动态倒入

1)import 动态倒入webpackchunkname

2.CDN优化

公司会有自己的cdn服务器,用来专门储存cdn包,可以直接使用

3.提取css文件-mini-css-extract-plugin,将css提取到一个独立的css文件中

4.js css代码压缩,有一个terser,webpack自带的,生产模式下有默认参数,能够丑化代码,构建时在minimizer属性下引入,进行打包构建的优化。。例如

5.自带tree-shaking,消除未调用的代码

6.webpack对文件压缩

有一个插件,compressionPlugin,能够对打包后的产物,js,css文件进行压缩

7.htmlwebpoackplugin里面也有一个参数,minify(可不说)

8.语法上,one of写法,include和exclude写法

9.babel层面,"useBuiltIns": "usage", 可以使得内置库core-js进行按需加载,无需全部引入

相关推荐
子兮曰2 小时前
Bun v1.3.14 深度解析:Image API、HTTP/3、全局虚拟存储与五十项变革
前端·后端·bun
kyriewen3 小时前
今天,百年巨头一次砍了9200人,而一个离职科学家的实话让全网睡不着觉
前端·openai·ai编程
问心无愧05134 小时前
ctf show web 入门42
android·前端·android studio
kyriewen4 小时前
老板逼我上AI,我偷偷在浏览器里跑LLaMA,省下20万API费
前端·react.js·llm
Beginner x_u4 小时前
前端八股整理(手写 02)|数组转树、数组扁平化、随机打乱一个数组
前端·数组·数组转树·数组扁平化
KaMeidebaby4 小时前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博
天若有情6734 小时前
前端高阶性能优化:跳出传统懒加载与预加载,基于用户行为做轻量预判加载
前端·性能优化
小小小小宇4 小时前
前端转后端:SQL 是什么
前端
张元清5 小时前
React Observer Hooks:7 种监听 DOM 而不写样板代码的方式
前端·javascript·面试
广州华水科技6 小时前
单北斗GNSS变形监测是什么?主要有怎样的应用与优势?
前端