简单玩一下AST(JavaScript)

2019-07-09
阅读 4 分钟
6.4k
直奔主题 对于js,AST能干什么? babel将es6转es5 mpvue、taro等将js转为小程序 定制插件删除注释、console等 ps: 本文只探讨AST的概念以及使用,编译原理的其他知识不做太多描述 工具库 @babel/core 用来解析AST以及将AST生成代码 @babel/types 构建新的AST节点 前置知识 - 编译原理概述 毫无疑问js是一个解释型语言,...

egg.js+redis+postgresql实现一套基于jwt的sso单点登录系统demo

2018-09-25
阅读 4 分钟
12.8k
1.eggjs基于koa2,可以认为是koa2的框架层面的约束,需要有koa2基础,可以参考koa2文档2.关于koa2洋葱圈模型的解析可以看这里3.node版本8.x,可以很方便地使用async/await来写异步代码4.egg.js官方文档

简单的指令和过滤器实现

2018-04-10
阅读 2 分钟
2.1k
正文: 源码来源于vuejs的commit记录:a5e27b1174e9196dcc9dbb0becc487275ea2e84c 作者在src下实现了一个简单的指令和过滤器, 下面来看下基本的实现过程(代码有部分删改和伪代码): 首先定义了一个prefix用来标记自定义的指令,找出所有带有指令的dom节点 {代码...} 遍历所有dom节点和自定义指令,然后全部记录在bindin...

vue.js最初的数据绑定实验解析

2018-04-10
阅读 2 分钟
1.7k
正文: 源码来源于vuejs的commit记录:a5e27b1174e9196dcc9dbb0becc487275ea2e84c 作者在getset-revits-style.html和getset.html中简单实验了一下数据绑定。 模板: {代码...} js {代码...} 和vue官网的例子几乎一毛一样。下面来看下实现源码,我觉得可以分为以下几个点: 获取需要进行数据绑定的dom {代码...} 模板解析...

浅析koa的洋葱模型实现

2018-03-26
阅读 4 分钟
41k
koa被认为是第二代node web framework,它最大的特点就是独特的中间件流程控制,是一个典型的洋葱模型。koa和koa2中间件的思路是一样的,但是实现方式有所区别,koa2在node7.6之后更是可以直接用async/await来替代generator使用中间件,本文以最后一种情况举例。

Lodash学习笔记 - 一些基础函数(1)

2018-03-20
阅读 6 分钟
3.6k
百忙之中(闲来无事)想抽点时间好好读一下源码,于是就选了Lodash来写一个系列罢。写了几篇笔记以后发现很多函数大量依赖了内部的基础函数,一次性读完有点麻烦,所以还是决定从基础函数(没有或者很少依赖其他函数)看起。

关于微信小程序的二三事(理论篇)

2018-03-19
阅读 2 分钟
4.3k
微信已经集成了很多功能: 早起打车,中午点外卖,晚上看电影,酒店开房,过年抢车票等等。但是除了这些相对高频的功能,还有很多低频的功能是微信没有的,比如:买卖二手,租车,租房,挂号,问诊等。而微信明显是不甘于只做一个社交软件的,微信的野望是完全融入国民的生活,所以这些低频但是又不可或缺的服务,就需要...

关于微信小程序的二三事(技术篇)

2018-03-18
阅读 4 分钟
6.6k
开发环境以及demo: 参见官方文档,注册->安装开发工具->新建项目,demo就跑起来了。 这一步比较简单,按照提示一步步安装好就行,然后用微信扫描二维码登陆。 至此小程序的开发环境差不多完成。 代码构成 pages index index.js index.wxml index.wxss logs logs.js logs.json logs.wxml logs.wxss utils utils.js ...

Lodash学习笔记 - compact函数

2018-03-15
阅读 1 分钟
2.9k
创建一个新数组,包含原数组中所有的非假值元素。例如false, null, 0, "", undefined, 和 NaN 都是被认为是“假值”。 代码比较简单,直接上源码:

Lodash学习笔记 - chunk函数

2018-03-14
阅读 2 分钟
6.5k
将数组array拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。

Lodash学习笔记 - slice函数

2018-03-13
阅读 3 分钟
4.1k
百忙之中(闲来无事)想抽点时间好好读一下源码,于是就选了Lodash来写一个系列罢。读源码顺序就按照loadsh文档顺序来。 文档地址:中文文档   英文文档源码地址:gayhub 第一个函数是chunk,不过源码中chunk依赖了slice,所以第一篇文章就从slice开始。 {代码...} 这个函数的作用就是裁剪数组array,从start下标开始,...