现代的单页应用开发已经离不开 Webpack 类打包工具的帮助。本文将以 Webpack 1 为例解析 Javascript bundler 的工作原理,包括 code splitting。
Continue reading单页应用性能的最大痛点就是 bundle 体积大导致首屏时间过长。使用 webpack 的 code splitting
(代码分割)功能可以将 bundle 分片,加速首屏,但之后的交互势必会受到影响。预加载分片 thunk 是必需的,本文探讨最理想的预加载手段。
上篇文章中阐释了我对 Redux 架构及其复杂性的看法,提到了 Redux 本质是一个非常简单易懂的状态管理架构,本文将解析 Redux 的源码,并从零实现一个带有中间件系统的 Redux。
Continue reading初用 Redux 时,我也有过一个疑惑:一个简单的数据读写操作,为什么要我写那么多样板代码?为什么这个写起来令人厌烦的架构工具却能得到如此高的流行度?随着理解的深入,我逐渐认可了 redux 的理念,本文将阐述一些我对 redux 中复杂度的看法。
Continue reading《Three.js 开发指南》学习脑图。
Continue reading在上篇文章《现代前端科技解析 —— 数据响应式系统 (Data Reactivity System)》中我们用到了 nextTick
函数,该函数使用 MutationObserver
实现了『异步』更新。我们工作中也常用 setTimeout(fn, 0)
来实现任务的『延迟』执行。本文以次为引,结合浏览器渲染,全面解析一轮 eventloop(事件循环)
各步骤的执行时序问题。
现代前端框架都引入了数据的响应式系统:模型层(Model)只是普通的 JavaScript 对象,修改它则自动更新视图(View),这让状态管理简单而直观。 Vue、Meteor Tracker、Mobx 中的数据响应式系统原理基本相同,本文将对其进行解析,并从零开始一步步实现一个与框架解耦的数据响应式系统。
Continue reading随着项目体积膨胀,webpack 构建时间越来越长。webpack 构建属于高频需求,每天耗费大量时间干等着是很难受的——于是有了本文,探讨如何加速 webpack 构建。
Continue reading其实《下卷》还没有出版,但是我查阅该系列书目后知,其实只剩下《ES6 & beyond》一章节了,于是从 Github 阅读之。
Continue reading花了一周的时间才把这本书读完。中卷比上卷内容与厚度都更为详实,类型、语法、异步都是 JavaScript 中核心内容,看完之后一时竟有内容过多,难以消化之感。该系列书虽内容精良无比,但在目录结构上安排稍显随意,在重读时感觉应把脑图结构重排一下。
Continue reading