学习源码,在于了解整体结构,对整个机制有一个整体了了解,做到心里有数,而不是看别人怎么用就怎么用,不报错就行。
获取源码
首先,先到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
函数的作用
- 检查
options
- 检查是否是
MultiCompiler
的情况(貌似还没用过,先不管) - 实例一个
WebpackOptionsDefaulter
对象,并调用process
为options
初始化默认属性 - 创建一个
compiler
,并初始化Pliugins
,如果有callback
就调用,然后返回。
- 在这中间还调用了
NodeEnvironmentPlugin
做了一些Node环境的设置(暂时不管)
exportPlugins
的作用
从下图中可以看出,这是用来导出默认实现的Plugins的,暂时可以不用管,后续可以查看导出了什么插件。
总结
这一章只是简单的看了一下入口文件进行一个简单的了解。
本章内容内容:
- webpack入口
- lib/webpack.js的主要内容
下一章内容
compiler
对象