扩大
缩小
摘要: 看源码一个痛处是会陷进理不顺主干的困局中,本系列文章在实现一个 (x)react 的同时理顺 React 框架的主干内容(JSX/虚拟DOM/...) 阅读全文
posted @ 2018-07-06 16:22 牧云云 阅读(826) 评论(0) 推荐(1) 编辑
摘要: Promise 研究 Promise 的动机大体有以下几点: 对其 api 的不熟悉以及对实现机制的好奇; 很多库(比如 fetch)是基于 Promise 封装的,那么要了解这些库的前置条件得先熟悉 Promise; 要了解其它更为高级的异步操作得先熟悉 Promise; 基于这些目的,实践了一个 阅读全文
posted @ 2018-07-02 01:48 牧云云 阅读(581) 评论(0) 推荐(2) 编辑
摘要: 开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知。 开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式。本文意在梳理常见设计模式的特点 阅读全文
posted @ 2018-05-18 13:37 牧云云 阅读(745) 评论(0) 推荐(1) 编辑
摘要: webpack 可谓是让人欣喜又让人忧,功能强大但需要一定的学习成本。在探寻 webpack 插件机制前,首先需要了解一件有意思的事情,webpack 插件机制是整个 webpack 工具的骨架,而 webpack 本身也是利用这套插件机制构建出来的。因此在深入认识 webpack 插件机制后,再来 阅读全文
posted @ 2018-04-18 16:45 牧云云 阅读(3486) 评论(0) 推荐(2) 编辑
摘要: 随着 ES6 和 TypeScript 中类的引入,在某些场景需要在不改变原有类和类属性的基础上扩展些功能,这也是装饰器出现的原因。 装饰器简介 作为一种可以动态增删功能模块的模式(比如 "redux 的中间件机制" ),装饰器同样具有很强的动态灵活性,只需在类或类属性之前加上 就完成了相应的类或类 阅读全文
posted @ 2018-03-19 11:43 牧云云 阅读(633) 评论(2) 推荐(0) 编辑
摘要: "原文链接" middleware 的由来 在业务中需要打印每一个 action 信息来调试,又或者希望 dispatch 或 reducer 拥有异步请求的功能。面对这些场景时,一个个修改 dispatch 或 reducer 代码有些乏力,我们需要一个可组合的、自由增减的插件机制,Redux 借 阅读全文
posted @ 2018-03-01 00:43 牧云云 阅读(294) 评论(0) 推荐(2) 编辑
摘要: 本文首发于 "my blog" 在业务中一般 MVVM 框架一般都会配合上数据状态库(redux, mobx 等)一起使用,本文会通过一个小 demo 来讲述为什么会引人数据状态库。 从 MVC 到 MVVM 模式说起 传统 MVC 架构(如 JSP)在当今移动端流量寸土寸金的年代一个比较头疼的问题 阅读全文
posted @ 2018-02-11 15:39 牧云云 阅读(1092) 评论(0) 推荐(0) 编辑
摘要: "更好的阅读体验" 跨域是日常开发中经常开发中经常会接触到的一个重难点知识,何不总结实践一番,从此心中对之了无牵挂。 同源策略 之所以会出现跨域解决方案,是因为同源策略的限制。同源策略规定了如果两个 url 的协议、域名、端口中有任何一个不等,就认定它们跨源了。比如下列表格列出和 比较的同源检测的结 阅读全文
posted @ 2018-02-05 00:27 牧云云 阅读(577) 评论(0) 推荐(4) 编辑
摘要: 更好的阅读体验,点击 "原文地址" 瀑布流布局中的图片有一个核心特点 —— 等宽不定等高,瀑布流布局在国内外网站都有一定规模的使用,比如 "pinterest" 、 "花瓣网" 等等。那么接下来就基于这个特点开始瀑布流探索之旅。 <! more 基础功能实现 首先我们定义好一个有 20 张图片的容器 阅读全文
posted @ 2018-01-31 00:49 牧云云 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 更好的阅读体验,点击 "原文地址" "项目地址" MVVM 框架 近年来前端一个明显的开发趋势就是架构从传统的 MVC 模式向 MVVM 模式迁移。在传统的 MVC 下,当前前端和后端发生数据交互后会刷新整个页面,从而导致比较差的用户体验。因此我们通过 Ajax 的方式和网关 REST API 作通 阅读全文
posted @ 2018-01-18 00:21 牧云云 阅读(829) 评论(1) 推荐(4) 编辑