概念:本质是JS静态模块打包工具,通过入口把项目中所需要的的模块打包成一个或多个文件
核心概念:
入口(entry):用来规定使用哪个模块做为构建内部依赖图的开始,默认为./src/index.js,入口可以有一个或多个。
输出(output):定义打包后文件的路径及命名,主要输出文件的默认值是./dist/main.js,其他文件默认放在./dist文件夹中。
loader:webpack默认只能识别js和JSON文件,loader用于转换其他文件,loader有两个属性,test属性:定义需要转化的文件,use属性:定义使用哪个loader进行转换。
插件(plugin):扩展webpack能力,比如打包优化,资源管理,注入环境变量。
模式(mode):有development,production 和 none三个值,每个值都有默认的优化行为,默认值为production。
执行过程:
1.从配置文件初始化参数
2.开始编译,加载插件
3.找到所有配置的入口文件
4.用定义的的loader编译模块,找到该模块依赖的模块,递归此步骤进行处理
5.完成模块编译,得到最终内容和依赖关系
6.根据入口和依赖关系把模块组装成chunk,再把chunk转化成文件进行输出
7.根据配置的路径和文件名,把文件内容写入文件系统
1万+

被折叠的 条评论
为什么被折叠?



