原文:.4-浅析webpack源码之convert-argv模块

上一节看了一眼预编译的总体代码,这一节分析convert argv模块。 这个模块主要是对命令参数的解析,也是yargs框架的核心用处。 生成默认配置文件名数组 函数内部,首先判断了argv.d与argv.p属性是否存在,这个属性来源于参数d与p,即webpack d p,测试如图: 因为懒得加,所以直接跳过,进入到第二阶段,生成默认配置文件名数组。 这里引入了一个小的模块interpret,调 ...

2017-12-12 00:11 1 1491 推荐指数:

查看详情

.6-浅析webpack源码之validateSchema模块

validateSchema模块   首先来看错误检测:   可以注意到,这里传了两个参数,其实第一个参数来源于一个JSON文件:   这个JSON文件非常大,可以观察一下部分内容:   从描述可以猜测,这里的key对应options中 ...

Thu Dec 14 03:22:00 CST 2017 0 2431
.14-浅析webpack源码之Watchpack模块

  解决掉了最头疼的DirectoryWatcher内部实现,这一节可以结束NodeWatchFileSystem模块。   关于watch的应用场景,仔细思考了下,这不就是热重载的核心嘛。   首先是监视文件,触发文件change事件后收集变动文件信息,重新进行打包,更新JS后触发页面重新 ...

Thu Dec 21 05:06:00 CST 2017 1 923
.10-浅析webpack源码之graceful-fs模块

  在cachedInput、output、watch三大文件系统中,output非常简单,没有必要讲,其余两个模块依赖于input模块,而input主要是引用了graceful-fs的部分API,所以这节来讲讲graceful-fs。   上一节整理的源码如下:   内容包含 ...

Sat Dec 16 08:24:00 CST 2017 0 2233
.1-浅析webpack源码webpack.cmd

  此系列随时可能断更,毕竟我是解释型源码分析……   tips:本系列源码版本为3.10.0   尝试看过Spring的源码,有点烧脑,所以还是重回JS吧!   在配置完环境变量后,可以通过webpack指令进行打包,需要知道的是,如果当前路径存在webpack ...

Sun Dec 10 22:52:00 CST 2017 8 1987
.15-浅析webpack源码之WebpackOptionsApply模块-plugin事件流总览

  总体过了一下后面的流程,发现Compiler模块确实不适合单独讲解,这里继续讲解后面的代码:   这行代码与之前设置options默认值非常相似,但是复杂程度根本不是一个次元的。   这一节只能简单的看一眼内部到底有多少东西,整理后源码如下:   这个模块 ...

Fri Dec 22 00:05:00 CST 2017 0 979
.3-浅析webpack源码之预编译总览

  写在前面:   本来一开始想沿用之前vue源码的标题:webpack源码之***,但是这个工具比较巨大,所以为防止有人觉得我装逼跑来喷我(或者随时鸽),加上浅析二字,以示怂。   既然是浅析,那么案例就不必太复杂,所以继续按照之前vue源码,以最简单形式进行源码分析,如下:   配置文件 ...

Tue Dec 12 00:14:00 CST 2017 3 1112
.8-浅析webpack源码之Tapable介绍

Tapable工具      完成webpack默认参数注入后,下一步虽然是 new Compiler() ,但是这东西不是一下可以讲完的,复杂的一批。   不如先从工具入手,分块讲解compiler,首先来看看事件流执行器Tapable工具。   tips:这里的Tapable源码来自于 ...

Thu Dec 14 23:34:00 CST 2017 1 1314
.2-浅析webpack源码之打包后文件

  先不进源码,分析一下打包后的文件,来一张图:      首先创建两个JS文件,内容如下:   分别为配置文件和入口JS文件,内容弄个简单的。   接下来在当前目录执行webpack --config config.js,会输出一个output.js,简化后 ...

Mon Dec 11 09:46:00 CST 2017 0 1387
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM