1.Webpack是什么
静态模块化打包工具
2.为什么需要webpack
前端开发的复杂化
-
随着前后端的分离,开发过程中我们需要通过
模块化的方式进行开发。 -
使用一些
高级的特性来加快开发效率或安全性,比如ES6+、TypeScript开发脚本逻辑,通过sass、less等方式来编写css样式代码。 -
需要监听文件的变化来
实时反映到浏览器上提高开发的效率。 -
开发完成后需要将代码进行
压缩、合并以及其他项目的优化。
前端三个框架的脚手架
目前前端流行的三大框架:Vue、React、Angular,创建它们的项目使用的脚手架都是基于webpack的。
3.为什么学习webpack
-
项目开发过程中需要一些特殊的配置:比如
给某些目录结构起别名,让我们的项目支持sass、less等预处理器,希望在项目中手动的添加TypeScript的支持,都需要对webpack进行一些特殊的配置工作。 -
在脚手架上定制一些自己的特殊配置提供性能:比如
安装性能分析工具、使用gzip压缩代码、引用cdn的资源,公共代码抽取等等,甚至包括需要编写属于自己的loader和plugin。
4.webpack打包原理
webpack打包之后的文件
1. 自执行参数
2. 参数通过对象的形式传递
- key:文件的路径 value:是一个函数(执行当前文件的代码)
- eval:执行字符串代码
- 如果有多个相互依赖的文件,最终打包成一个文件