- webpack 打包原理 https://zhuanlan.zhihu.com/p/141447713
1.读取config配置,实例化compiler对象,执行插件数组(插件实例化),webpack事件流挂上自定义hook
2.根据entry找到入口文件,递归遍历所有的文件,执行run方法
3.compilation阶段:创建Compilation对象回调compilation相关钩子,依次进入每一个文件,根据文件类型,使用rule规则定义好的loader进行编译,模块和依赖分析
4.emit阶段: 文件编译和转化已经完成,在compilation.assets拿到所有资源
- afterEmit阶段: 文件写入磁盘完成
5.根据配置的路径生成结果文件
插件:
开发插件的时候,new一个插件实例调用apply(compile)传入compile对象,插件实例就可以通过compiler.plugin监听到webapck广播出来的事件,并且可以通过compile对象去操作webpack
tree-shaking
- react生命周期
- react diff核心算法
- react shouldupdate
- 双向绑定 vue angular react
- weex rax react native
智力
21颗珠子 AB两个人拿 1~3颗 拿到最后一个的赢 a怎么拿才能赢