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

validateSchema模块 首先来看错误检测: 可以注意到,这里传了两个参数,其实第一个参数来源于一个JSON文件: 这个JSON文件非常大,可以观察一下部分内容: 从描述可以猜测,这里的key对应options中的key,value就是检测方式。 比如说entry放到required代表是必须的,plugins的type为array代表这个键必须是一个数组,而 ref代表一个路径映射,即 ...

2017-12-13 19:22 0 2431 推荐指数:

查看详情

.6-浅析express源码之Router模块(2)-router.use

  这一节继续深入Router模块,首先从最常用的use开始。 router.use   方法源码如下:   前半部分十分熟悉,根本就是app.use的翻版。   当然,最后遍历中间件函数处理的时候就不一样了,引入了新的本地模块Layer。 Layer ...

Thu Apr 19 01:22:00 CST 2018 0 903
.14-浅析webpack源码之Watchpack模块

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

Thu Dec 21 05:06:00 CST 2017 1 923
.4-浅析webpack源码之convert-argv模块

  上一节看了一眼预编译的总体代码,这一节分析convert-argv模块。   这个模块主要是对命令参数的解析,也是yargs框架的核心用处。   生成默认配置文件名数组   函数内部,首先判断了argv.d与argv.p属性是否存在,这个属性来源于参数d与p ...

Tue Dec 12 08:11:00 CST 2017 1 1491
.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
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM