Webpack 源码学习系列(一)

学习源码,在于了解整体结构,对整个机制有一个整体了了解,做到心里有数,而不是看别人怎么用就怎么用,不报错就行。

获取源码

首先,先到github中获取源码。

git clone https://github.com/webpack/webpack.git

寻找入口

获取到源码以后,首先要找到入口。

webpack是一个npm包,所以可以在package.json中找到对应的入口,即:"main": "lib/webpack.js",

webpack.js解读

webpack.js里只有两个成员webpack(options, callback) exportPlugins(obj, mappings)

webpack函数的作用

  1. 检查options
    clipboard.png
  2. 检查是否是MultiCompiler的情况(貌似还没用过,先不管)
  3. 实例一个WebpackOptionsDefaulter对象,并调用processoptions初始化默认属性
  4. 创建一个compiler,并初始化Pliugins,如果有callback就调用,然后返回。
    Webpack 源码学习系列(一)_第1张图片
  5. 在这中间还调用了NodeEnvironmentPlugin做了一些Node环境的设置(暂时不管)

exportPlugins的作用

从下图中可以看出,这是用来导出默认实现的Plugins的,暂时可以不用管,后续可以查看导出了什么插件。

Webpack 源码学习系列(一)_第2张图片

总结

这一章只是简单的看了一下入口文件进行一个简单的了解。

本章内容内容:

  • webpack入口
  • lib/webpack.js的主要内容

下一章内容

  • compiler对象

你可能感兴趣的:(Webpack 源码学习系列(一))