huoxiangdong / Blog

学习记录
0 stars 0 forks source link

webpack #25

Open huoxiangdong opened 6 years ago

huoxiangdong commented 6 years ago

PLUGIN

huoxiangdong commented 6 years ago

module.exports = {
    entry: '', // 入口文件
    output: {}, // 出口文件
    module: {}, //模块配置
    plugins: [], // 对应的插件
    devServer: {}, // 开发服务器配置
    mode: 'development' // 模式配置
    context: //工程路径   
}
huoxiangdong commented 6 years ago

核心对象compilation

huoxiangdong commented 6 years ago

AST

huoxiangdong commented 6 years ago

webpack 的实际入口是 Compiler 中的 run 方法,run 一旦执行后,就开始了编译和构建流程 ,其中有几个比较关键的 webpack 事件节点。

huoxiangdong commented 6 years ago
huoxiangdong commented 6 years ago
huoxiangdong commented 6 years ago

执行过程

huoxiangdong commented 6 years ago

关键事件

huoxiangdong commented 6 years ago

模块构建

Compiler -> make 
         -> Compilation.addEntry -> options 对象的 entry 字段找到入口js文件
                                 -> _addModuleChain
                                   -> 一是根据模块的类型获取对应的模块工厂并创建模块
                                   -> 二是构建模块