2017-01-03 / 31 阅读

如何实现 Virtual DOM

实现一个简单的 Virtual DOM, 你不需要去深入 React 的源码,或者去研究其他实现 Virtual DOM 的源码,他们的代码很多且复杂,但实际上实现 Virtual DOM 的核心代码仅仅只要50行,甚至更少。 首先理解两个概念: Virtual DOM 描述的是真实的 DOM。 当 Virtual DOM 树有所变化之后,将会得到一个新的 Virtual D...

阅读更多

2016-11-26 / 201 阅读

https时代来临了

http和https区别 http:超文本传输协议是互联网上应用最为广泛的一种网络协议。目前广泛的协议,但是http协议传输的数据都是未加密的,也就是明文的,因此使用http协议传输隐私信息非常不安全。 https:https(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的http通道,简单讲是htt...

阅读更多

2016-11-25 / 127 阅读

react-redux单元测试

Redux是什么? Redux是JavaScript应用程序可预测状态的容器。工作流程图如如下 状态树通过 props 定义UI和action回调 用户在ui界面操作,例如点击事件,通过action creator来接收做相应的处理 action 通过 reducer 来处理,实现逻辑代码,更新 state,存储 根据存储的新的state树更新 UI 在整个过程中,有三个需要...

阅读更多

2016-11-18 / 132 阅读

回调函数转成支持nodejs的generators(yield)写法

nodejs支持generator函数,使用yield来执行,由于普通函数不能用 yield 写法,所以只需要简单的把回调函数转换一下,就可以支持yield写法了 首先有一个回调方法 function test (num, cb) { if (num > 10) { cb(null, "yes"); } else { cb("no"); ...

阅读更多

2016-11-17 / 101 阅读

angularjs之interceptor(拦截器)

前言 angularjs作为前端优秀的框架,实现视图模型的交互外,还需要经常跟后台交互数据,这就涉及到http请求,http从请求到响应过程中,由于我们使用异步交互数据,无论是成功或者失败,都需要进行处理,给用户更友好的表现形式。我们可以在每一个service服务中对ajax请求做对应的处理,但随着项目的迭代,将会发现重复的代码太多,幸运的是,angularjs提供一个http拦截器,我们可...

阅读更多

2016-11-11 / 126 阅读

Flow-javascript类型检测工具

Flow,一个新的Javascript静态类型检查器。Flow为Javascript添加了静态类型检查,以提高开发效率和代码质量。更明确的说,静态类型检查提供的好处像早期错误检查,帮助你发现一些只有在运行时才能发现的错误,以及代码智能感知,它会帮助代码维护,查找,重构和优化。 我们设计Flow的所有功能构建在现有Javascript规范之上。因为Flow主动地在后台工作,所以额外的编译开销很小。...

阅读更多

2016-11-11 / 120 阅读

node环境下使用babel运行es6

node现在不是很支持es6语法,但是我们可以使用babel来支持,只需要简单的安装运行环境 1. 安装babel-node npm install --save-dev babel-core npm安装如果太慢或者安装不了,可以使用淘宝镜像cnpm,命令行 npm install -g cnpm --registry=https://registry.npm.taobao.org ...

阅读更多

2016-10-27 / 134 阅读

webpack 常用功能

1.使用公用CDN 当我们使用cdn来引入插件,例如jquery,moment插件,配置externals属性,这时候打包就会排除moment模块,加快打包速度 externals: { moment: true } 注意,必须在html文件中引入对应的cdn <script src="//apps.bdimg.com/libs/moment/2.8.3/moment-w...

阅读更多