此系列随时可能断更,毕竟我是解释型源码分析…… tips:本系列源码版本为3.10.0 尝试看过Spring的源码,有点烧脑,所以还是重回JS吧! 在配置完环境变量后,可以 ...
此系列随时可能断更,毕竟我是解释型源码分析…… tips:本系列源码版本为3.10.0 尝试看过Spring的源码,有点烧脑,所以还是重回JS吧! 在配置完环境变量后,可以 ...
validateSchema模块 首先来看错误检测: 可以注意到,这里传了两个参数,其实第一个参数来源于一个JSON文件: 这个JSON文件非常大, ...
在cachedInput、output、watch三大文件系统中,output非常简单,没有必要讲,其余两个模块依赖于input模块,而input主要是引用了graceful-fs的部分API,所 ...
因为换了个工作,所以博客停了一段时间。 这是上个月留下来的坑,webpack的源码已经不太想看了,又臭又长,恶心的要死,想去看node的源码……总之先补完这个 上一节完成了babel- ...
Tips:写到这里,需要对当初的规则进行修改。在必要的地方,会在webpack.config.js中设置特殊的参数来跑源码,例如本例会使用module:{rules:[...]}来测试,基本上测试 ...
上一节看了一眼预编译的总体代码,这一节分析convert-argv模块。 这个模块主要是对命令参数的解析,也是yargs框架的核心用处。 生成默认配置文件名数组 ...
Tapable工具 完成webpack默认参数注入后,下一步虽然是 new Compiler() ,但是这东西不是一下可以讲完的,复杂的一批。 不如先从工具入手,分块讲解compi ...
写在前面: 本来一开始想沿用之前vue源码的标题:webpack源码之***,但是这个工具比较巨大,所以为防止有人觉得我装逼跑来喷我(或者随时鸽),加上浅析二字,以示怂。 既然是浅析, ...
先不进源码,分析一下打包后的文件,来一张图: 首先创建两个JS文件,内容如下: 分别为配置文件和入口JS文件,内容弄个简单的。 接下来在当前目 ...
第一步处理rule为字符串,直接返回一个包装类,很简单看注释就好了。 test/include/exclude 然后处理test、include、exclude,如下: ...