webpack常见的内容

84 阅读3分钟

- 为什么使用webpack?

在日常的开发中经常在index.html引入多个css,js文件,会导致页面加载慢,所以有必要将他们合并为一个文件,所以使用webpack打包工具,从而实现自动会打包,减少人力打包的时间和精力。

- webpack的常用配置项

juejin.cn/post/737099…

- devtool项的值一般有哪些

内联和外部的区别:1、外部生成了文件,内联没有 2、内联构建速度更快

腾讯云学习

image.png

- source-map的原理(重点)

因为目前我们开发时的源码跟通过webpack构建混淆压缩后的生产环境部署代码不一样,sourceMap就是一个以.map结尾的文件类型,主要作用是记录和源码有关的位置信息。

sourceMap是一种提供编译文件和原始源文件之间映射的技术,这使得开发人员在调试过程中可以看到原始代码,而不是编译后的代码。

通过webpack等工具,我们可以使用sourceMap,它跟构建后的文件同在一个目录下

在webpack的development模式下,会自动开启source-map,是为了方便调试,定位错误,但是production模式,会自动关闭。

- module,chunk和bundle的区别联系

CSDN

  1. module(模块):模块,分割 的代码单元,webpack中的模块可以是任何内容文件,不仅限于JS,还有CSS、图片。
  2. chunk(代码块):webpack内部构建模块的块,一个chunk中包含多个模块,这些模块是从入口模块通过依赖分析得来的。
  3. bundle(包):chunk构建好模块后会生成chunk的资源清单,清单中的每一项目都是bundle,bundle就是最终生成的文件。

image.png

- webpack的工作流程

image.png

- webpack热更新原理

juejin.cn/spost/73709…

- plugin和loader的区别

juejin.cn/post/737099…

- 如何优化webpack 的打包速度,如何减少webpack的打包体积

juejin.cn/post/737099…

- splitechunk配置项细节

juejin.cn/post/737095…

- hash,chunkhash,contenthash的区别

  1. hash:最终资源清单所有内容联合生成的hash值。
  2. chunkhash:chunk生成的资源清单内容联合生成的hash值。
  • 每个chunk打包后,会产生的哈希,叫做chunkhash
  1. chunkname:chunk的名称,如果没有配置,那就是使用main
  2. contenthash:根据内容生成hash值,文件内容相同hash值就相同
  • 这个哈希只跟内容有关,内容不变,哈希值不变

- tree shaking原理

juejin.cn/post/737170…

- babel的原理和工作流

juejin.cn/post/736989…

loader的原理和代码实现

plugin的原理和代码实现

webpack中提取公共模块的方法

mainfest文件的作用是什么

less-loader的底层原理

webpack5的新特性

webpack做多页面打包的思路

错误信息上报如何用webpack处理,监听webpack生命周期钩子函数,进行webpack打包过程中错误信息的收集

webpack中做代理

webpack长缓存优化

动态导入、按需加载原理

webpack文件监听的原理(轮询),开启方式