2023-08-29
VueJS
00

本篇文章将讲解Vue3编译器,在阅读本篇文章前建议先看一下阅读一下我之前的一篇文章《AST抽象语法树》 尤其是 全网最小编译器,强烈建议跟着写一遍,读一篇可能当时理解了,然后吃过饭就忘,手写一遍代码胜过千言万语, 你的印象会深刻很多, 你会对AST有什深刻的认识,对于学习babel插件及本篇文章都很有帮助。本篇文章假设你已经对AST有一些了解了。

回归正题,先介绍本文的内容也就是Vue3编译器的思路

  1. Vue3编译器的实现思路 源代码(模版) --》 错误分析 --》 parse(生成AST) --》transform(生成JavaScriptAST) --》 generate生成目标代码
  2. 基于有限状态机的思路分析DOM模版状态转换的过程,将模版转换为AST
  3. AST转换为JavaScriptAST(增加了codegenNode属性)
  4. 根据JavaScriptAST生成render函数
  5. createApp实现 打通compileruntime
2023-08-26
VueJS
00

本文文章从0到1带你手写Vue3运行时。依次深入讲解以下内容

  1. h函数的实现 --> 支持组件 --> 支持class属性
  2. render渲染器骨架 --> 设置属性 --> 节点更新
  3. render渲染无状态组件 --> 渲染有状态组件 --> 生命周期钩子 --> setup函数支持
  4. diff算法 --> 思路 --> 最长递增子序列算法 --> diff实现
2023-08-21
VueJS
00

本文将详细讲述Vue的响应式原理、虚拟DomDomDiff算法。另外再简单介绍模版编译的原理及Vue源码调试技巧。

2023-08-18
前端工程化
00

本文介绍Rollup的一些配置及常见插件,最后使用Rollup实现一个类库和Vue3的UI组件库。

2023-08-18
前端工程化
00

本文简单介绍gulp概念及基本使用