webpack 常见面试题

本文详细解答了webpack的常见面试问题,包括前端代码构建打包的原因、module、chunk、bundle的含义和区别、hash、chunkhash、contenthash的区别、webpack执行流程、基础配置项如entry、output、module、plugins、mode、devtool、devServer,以及Loader和Plugin的不同。还讨论了Scope Hoisting、webpack热更新原理、构建速度优化策略和性能压缩技巧。最后,探讨了webpack5的新特性,如持久化缓存、模块联邦等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Q1:前端代码为何要进行构建和打包?

体积更小 (Tree-Shaking、压缩、合并),加载更快

编译高级语言或语法(TS,ES6+,模块化,scss)

兼容性和错误检查(Polyfill、postcss、eslint)

统一、高效的开发环境

统一的构建流程和产出标准

集成公司构建规范(提测、上线等)

Q2:module、chunk、bundle 分别什么意思,有何区别?

module:各个源码文件,webpack中一切皆模块,只要是能引用的依赖,包括js、css、图片等都是模块。

chunk:多模块合并成的,如 entry、import()、splitChunk

chunk是指模块内代码被webpack处理后形成 webpack 输出文件内,eval所有执行的代码。当模块内代码有依赖文件时,就会生成二个chunk,形成chunks。

所以一个chunk对应一个模块,一个chunks对应一个或多个模块,一个bundle文件包含一个或多个chunk,也就是对应一个chunks。

bundle:最终的输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值