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进行按需加载,无需全部引入

相关推荐
JieE2122 小时前
AIGC 工程化入门:从零搭建你的第一个 AI 应用 -- 以 DeepSeek API 为例,带你走通大模型应用开发的完整链路
node.js·aigc·ai编程
艾利克斯冰2 小时前
TypeScript 静态类型入门教程:可选静态类型与类型推导详
前端·javascript·typescript
GuWenyue3 小时前
告别命名混乱!5步掌握BEM规范,写出易维护的前端页面
前端·javascript·面试
小林ixn3 小时前
BEM 命名规范与 CSS 重置:打造优雅的按钮页面实战
前端·css
雨季mo浅忆3 小时前
记录利用Cursor快速实现首页数据大屏
前端·ai编程
像我这样帅的人丶你还3 小时前
🚀🚀🚀2026年还不会Nginx?
前端·nginx
moMo3 小时前
藏好Key的小妙招,从搭建node.js+大模型项目开始
人工智能·node.js
用户059540174463 小时前
把对话记忆从内存搬到 Redis,长期记忆准确率从 63% 提升到 98%
前端·css
无心使然3 小时前
Openlayers图层按需分层渲染到不同Canvas画布
前端·vue.js·gis