CommonJS浅析

2019-06-17
阅读 2 分钟
1.8k
在执行模块代码之前,nodejs会使用一个闭包(The module wrapper)封装起来,这就是它每一个文件都是一个独立的域的原因。但如果值没有用var声明的变量,会直接提升到全局上去,在其他文件也可以直接使用。

vue-router之hash模式和history模式

2019-05-30
阅读 3 分钟
4.3k
即地址栏 URL 中的 # 符号(此 hash 不是密码学里的散列运算)。比如这个 URL:[链接],hash 的值为 #/hello。它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。

vue-router之history类浅析

2019-05-20
阅读 5 分钟
6.7k
对于vue-router来说,有三种路由模式history,hash,abstract, abstract是运行在没有window的环境下的,这三种模式都是继承于history类,history实现了一些共用的方法,对于一开始看vue-router源码来说,可以从这里开始看起。

lodash之cloneDeep浅析

2019-05-09
阅读 3 分钟
7.5k
本质上的原因是对象引用的是地址,直接赋值会吧引用地址也复制给新值。浅复制只会将对象的各个属性进行依次复制,会把引用地址也复制。深拷贝是会递归源数据,吧新值得引用地址给换掉。

https浅析

2019-05-08
阅读 2 分钟
1.7k
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

从vue-router里学习插件写法

2019-05-07
阅读 3 分钟
1.6k
要写一个vue的插件,可以是带install或不带,然后在里面通过mixin,绑定prototype,调用component等方法去注册到vue实例上去

Typescript装饰器浅析

2019-05-06
阅读 5 分钟
2.1k
随着TypeScript和ES6里引入了类,在一些场景下我们需要额外的特性来支持标注或修改类及其成员。 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。 Javascript里的装饰器目前处在 建议征集的第二阶段,但在TypeScript里已做为一项实验性特性予以支持。

vue自定义指令之面板拖拽

2019-04-14
阅读 3 分钟
3k
在指令里获取的this并不是vue对象,vnode.context才是vue对象,一般来说,指令最好不要访问vue上的data,以追求解耦,但是可以通过指令传进来的值去访问method或ref之类的。

vuex源码浅析

2019-04-11
阅读 6 分钟
1.3k
当前版本是3.1.0,这个版本主要引入了mutations的异步前后的两个钩子debug的项目是官方例子里的shopping-cart,这个项目的有两个modules,可以看的比较直观。

lodash里的reduce

2019-04-09
阅读 2 分钟
4.3k
创建一个函数,最少接收两个参数,一个函数数组,一个初始参数,依次执行函数数组,下一个函数的第一个参数是上一个的结果,初始参数是第一个函数的第一个参数。

记一次vue项目webpack升级

2019-04-04
阅读 1 分钟
2.3k
webpack一定要锁版本,这东西的版本感觉是一个大坑,说不定这个版本支持,下个版本就不支持了,只能是在issue里看到别人提pr,然后说下个版本修复,尴尬的要死

从vue模板解析学习正则表达式

2019-04-04
阅读 2 分钟
5.8k
前言 最近在看vue的模板解析成render这一块,顺便补一下正则的知识 文件地址srccompilerparserhtml-parser.js 1. attribute {代码...} 2. ncname {代码...} 3. qnameCapture {代码...} 4. startTagOpen {代码...} 5. startTagClose {代码...} 6. endTag {代码...} 7. doctype {代码...} 总结 补了不少正则的知识点,至少...

一个基于套接字实现长连接的express

2019-03-26
阅读 4 分钟
2.3k
逻辑: 首先把routerUrl目录下的函数初始化缓存起来,通过Router.request调用缓存起来的函数,这个函数实际上是register.set方法,主要是开始运行函数链,通过register.next 运行下一个函数。

浅析Js Event Loop

2019-03-25
阅读 2 分钟
1.1k
个人理解是js的单线程是他的任务栈是单线程,但他处理异步i/o的方法是依赖libuv开启线程池去处理,完成之后任务加到poll queue里,然后等任务栈的任务为空或事件到达阀值时,把poll queue和定时器的任务加到任务栈里,继续这个循环,这就是大体上的js的Event Loop。

浅析es6-promise源码

2019-03-22
阅读 2 分钟
1.5k
本质上还是回调函数那一套。通过_subscribers的判断完成异步和同步的区分。通过 resolve,reject -> publish -> invokeCallback -> resolve,reject的递归和下一条then的parent是上一条的child来完成then链的流转

使用Proxy实现双向绑定

2019-03-19
阅读 2 分钟
2.4k
1 Object.defineProperty 实现原来vue2的实现使用Object.defineProperty,监听set,但对于数组直接下标给数组设置值监听不了。

Vue-router 组件重用解决方案

2019-03-18
阅读 1 分钟
1.6k
在官网中有vue-router组件复用的解释和解决方案,但这种方案耦合度太高,得在每个组件里都得写一个watch或beforeRouteUpdate,会产生很多的冗余

NestJS 集成graphql grpc 分布式实践

2019-03-13
阅读 2 分钟
5.3k
前言: 为了学习nestjs graphql grpc 微服务方面的知识,具体grpc和graphql的语法再之后在做详细分析 1 创建项目 {代码...} 2 添加graphql 创建graphql-config.service.ts文件,用于graphql的配置及编写过滤器的逻辑 {代码...} 添加进app.module.ts里 {代码...} 创建文件xxx.resolvers.ts {代码...} 3 添加grpc 首先,创建...

vue 集成 typescript Element UI 之懒人集成法

2018-01-15
阅读 1 分钟
12k
背景 最近有点时间,就想把我的vue项目版本升级一下,顺便在折腾一下typescript... 踩过的坑 element ui官方已经写了d.ts,但会有一个小坑,但issue都有解决方案... 正文vue引入ts有好几种方案,一种引入是还是在.vue文件里写,不过是集成之后在<script>里加个lang="ts"。一种是写在.ts文件中,我用的就是这一种.....