webpack打包原理
1、初始化
根据配置文件,shell参数与默认配置结合得出最终的参数,创建compile对象,加载内置&配置插件等初始化编译环境,执行compile对象的run方法开始编译,根据entry找出入口文件
2、构建
根据entry对应的dependence创建module对象,调用loader将模块内容转译,找到该模块依赖的模块,再递归本步骤直到所有的入口依赖的文件都经过了loader的转译。递归结束之后,会得到每个模块被翻译后的内容以及它们之间的依赖关
3、生成
根据入口和模块之间的依赖关系,生成一个个chunk,每个chunk是一个单独的文件,加入到输出列表。根据output配置里的路径和文件名把内容写到文件系统里