使用verdaccio和lerna和管理npm包

封装公共逻辑,我们往往会通过函数->模块文件->包等方式,本文主要研究如何编写和管理公共模块,包括配置模块入口、选择打包方式、搭建本地npm仓库、多模块项目管理等问题。

阅读全文

将博客重构为SSR渲染

前段时间写了一个简易的类React框架:NeZha,现在打算加上服务端渲染的功能,并准备重构整个博客的同构渲染。本文将整理SSR在框架的项目构建方面的原理,然后进行简单实现。

阅读全文

VNode与Component

在前面两篇文章中,我们研究了VNode的基础知识,了解了如何使用VNode描述并渲染视图,实现了递归diff和循环diff两种方案,并在循环diff中给出了一种简单的调度器实现方案。本文将紧接上两篇文章,一步一步思考并实现将VNode封装成组件。

阅读全文

Fiber与循环diff

在上一篇文章VNode与递归diff中,我们了解了VNode的作用,如何将VNode映射为真实DOM,并通过递归实现了diff操作,最后研究了三种不同的diff方式带来的性能差异。

本文将紧接上文,研究如何通过循环的方式实现diff,并在此基础上实现对应的调度系统,从而理解React中的一些核心原理。

阅读全文

VNode与递归diff

在工作中接触VueReact大概有两三年了,最近一直在学习相关的技术原理,打算整理学习心得。本文深入研究虚拟DOMVNode相关的技术实现,了解前端框架的基础。

阅读全文

从vue-loader源码分析CSS-Scoped的实现

虽然写了很长一段时间的Vue了,对于CSS Scoped的原理也大致了解,但一直未曾关注过其实现细节。最近在重新学习webpack,因此查看了vue-loader源码,顺便将从vue-loader的源码中整理CSS Scoped的实现。

阅读全文