为什么要写这个系列的文章
webpack是日常开发和面试中绕不过去的话题,我自以为对基础API很熟悉,但遇到问题的时候,还是有很多不理解的地方,比如contentHash和hash的区别, source-map在不同环境下应该采用什么样的配置、如何书写一个Plugin等等。
为了彻底解决心中的疑惑,我决定从0开始学习webpack,以下是本系列要解决的主要问题:
webpack基础知识
- webpack基本概念:搞懂疑难点,,比如source-map、hash值、externals等。
- webpack打包时的整体流程,即各个模块的作用是什么?
- Webpack实战:看一下打包前、打包后代码,了解webpack到底做了什么
webpack常用配置
- babel常用配置(2.21–2.27)
- 熟悉Webpack的主要配置
- 常用的loader、plugin总结、要背会
- webpack的打包优化实战
webpack源码学习
- webpack整体打包流程、钩子函数Tapable
- webpack中的compilation、compiler区别
- webpack的API——学写loader和plugin,搞懂webpack4和webpack5中钩子的区别
- webpack的热更新是如何做到的?说明其原理?
- webpack中针对多页面应用、单页面应用的打包
- webpack常用loader、plugin源码简单了解一下(3.14–3.20)
- 图片、html-webpack-plugin、DefinePlugin等
webpack实际项目中的优化
- webpack如何提升打包速度
- webpack如何优化打包体积
- webpack打包如何提升前端性能
webpack其他知识点
- webpack5相对于webpack4的优化点(3.21–3.27)
- Gulp、Rollup打包工具的流程、特点