SF
源码学习个人小空间
源码学习个人小空间
注册登录
关注博客
注册登录
主页
关于
RSS
ctressa和linecitats
ZWkang
2019-09-11
阅读 2 分钟
1.5k
轮子造了就写文章以免遗忘咯。 ctressa ctressa是前一段时间对测试较为入迷。 所以阅读了一些断言库,断言框架的代码。 本质上断言框架例如 mocha,ava 这些,最初的实现大抵都是一个任务执行器。 每一个断言都是一段任务,执行测试就是执行这个任务队列。 mocha ava diff mocha在全局引入了方法,原生不支持并发,以串...
koa-router实现原理
ZWkang
2019-08-23
阅读 18 分钟
3.7k
koa router实现原理 本文两个目的 了解path-to-regexp使用 koa-router源码解析 path-to-regexp path-to-regexp用法简介。 如何使用其来匹配识别路由? 想想如果我们要识别路由的话,我们可以怎么做? 最直观肯定是路径字符串全匹配 {代码...} 当路由全匹配 /string 的时候我们可以做出一些反馈操作。例如执行一个callbac...
使用next.js结合GITHUB ISSUE实现博客。
ZWkang
2019-08-15
阅读 3 分钟
2.4k
使用next.js结合GITHUB ISSUE实现博客。 起因 。。。。起因是因为在某网站看到有一些类似实现。打算自己也做个side-project。 习惯性的对自己做的side-project 做一些描述性的语句,不做具体,而提供思路。 next 简单的快速上手很快,基本没有什么曲线可能只是需要了解服务端常见知识即可。 渲染。 我们常说SSR也就是服...
minipack源码解析以及扩展
ZWkang
2019-04-22
阅读 10 分钟
2k
前置知识 首先可能你需要知道打包工具是什么存在 基本的模块化演变进程 对模块化bundle有一定了解 了解babel的一些常识 对node有一定常识 常见的一些打包工具 如今最常见的模块化构建工具 应该是webpack,rollup,fis,parcel等等各种各样。 但是现在可谓是webpack社区较为庞大。 其实呢,模块化开发很大的一点是为了程序可...
单点手势库
ZWkang
2019-03-21
阅读 1 分钟
1.6k
单点手势库 分析 手势是什么? 有哪些方法实现? 首先我这里指的手势是指我们在移动端进行触屏交互的时候,用户操作的一些手势。在我们在移动端需要一些交互的时候。难免有时候需要左滑右滑。 目前市面上常见的有两种实现,一种是基于touch事件做判断,一种是自定义事件。 我们接下来使用基于touch时间做判断实现。 首先...
snabbdom源码粗读
ZWkang
2018-05-17
阅读 3 分钟
2.4k
snabbdom 本文的snabbdom源码分析采用的是0.54版本(即未用ts重写前的最后一版) 前期了解 snabbdom被用作vue的虚拟dom。本文的一个目的就是对于进入vue源码预备。本文大致讲解,而不会完全细化至代码行数讲解 文件(以下只指出需要阅读的主要文件) modules helper h.js htmldomapi.js is.js snabbdom.js thunk.js vnode....
underscore 0.1.0版本源码阅读
ZWkang
2018-03-10
阅读 15 分钟
2.2k
前言 这篇文章是为之后的underscore现版本的源码做铺垫,先感受下最先版本 0.1.0版本足够小 这个版本已经有将近小10年的历史了 还是有一些不错的地方。 0.1.0版本源码分析 {代码...} 总结 后面的模板实现挺亮眼。 try catch 设计each的跳出。 >> 取半的快捷 函数的复用。(有部分也许是不高效) 整个版本时间很前。...
through2.js,xtend.js源码
ZWkang
2018-03-07
阅读 3 分钟
2k
{代码...} {代码...} throught xtend
koa源码阅读之koa-compose/application.js
ZWkang
2017-09-01
阅读 8 分钟
2.9k
koa源码阅读之koa-compose/application.js koa-Compose 为了理解方便特地把注释也粘进来 {代码...} 如果你用过koa的话。现在你应该理解了next洋葱体的奥妙了。 application.js {代码...} 主要的点在于koa-compose的包装很是重要。感觉tj在这方面的功底真的太强了。异步,next链式组装方式。都很强。 接下来文章的内容 继...
koa源码阅读之context.js/koa-convert/is-generator-function
ZWkang
2017-08-30
阅读 7 分钟
3.2k
hey 老伙计 今天我们来讲一下koa的context.js还有一些tj自己写的库吧。 context.js {代码...} 因为下一个篇幅准备将最重要的application.js所以这个接下来准备说几个引入的库源码 koa convert 用于什么?用于将koa1的中间件转化为promise 看到co就应该有这么个想法了= = {代码...} is-generator-function {代码...} 这次...
koa源码阅读之request.js与response.js
ZWkang
2017-08-19
阅读 20 分钟
3.3k
这个源码阅读我是想将旁支末梢先捋顺了。再进入主程的applicationResponse与Request主要是对原生createServer的req可读流 res可写流做二次封装
koa源码阅读之目录结构与辅助库相关
ZWkang
2017-08-10
阅读 3 分钟
2.2k
koa源码lib主要文件有 application.js context.js request.js response.js application.js koa主要的逻辑处理代码整个koa的处理 context.js 将req,res方法 挂载在这,生成ctx上下文对象 requests.js 封装处理req对象 response.js 封装处理res对象 对于每个文件引入的库 application.js {代码...} context.js {代码...} r...
underscore源码阅读之一
ZWkang
2017-08-09
阅读 6 分钟
2.2k
此次源码分析为 1.8.3 version 以前曾读过一次,可是没有做下笔记。此次重新阅读特制此笔记 Baseline setup underscore是包裹在一个闭包内部的防止污染全局变量 {代码...} 如果有人不知道的话我可以说一下这样匿名函数立即调用因为函数划分作用域在创建作用域之后没有引用,则不污染全局 {代码...} 显然判断的是运行的环...
thunkify与co源码解读
ZWkang
2017-07-30
阅读 8 分钟
4k
开头 首先本文有将近3000字,阅读可能会占用你20分钟左右。 文笔可能不佳,希望能帮助到阅读此文的人有一些收获 在进行源码阅读前首先抱有一个疑问,thunk函数是什么,thunkify库又是干什么的,co又是干嘛,它有啥用 程序语言有两种求值策略 传名调用 传入参数实际上是传入函数体 传值调用 函数体在进入的时候就进行运算...