vue源码笔记之compiler编译器

一、compiler过程

compiler过程就是把源代码(template)转换为目标代码(render)
三个核心步骤:

  • 解析(parse):template模版生成AST
  • 转化(transform):AST转换为Javascript AST
  • 生成(generate):通过Javascript AST生成render
    AST: 抽象语法树,就是将代码通过一种对象的方式存储下来

二、解析

有限状态机: 官方意思是:有限个状态以及在这些状态之间的转移和动作等行为的数据计算模型
主要三个特征为:

  • 状态总数有限
  • 任一时刻,一定只处于一种状态
  • 某种条件下,一定会从一种状态转换为另一种状态

举个🌰:
<div>hello world<div>
该模版主要包含状态为开始标签状态,文本状态,结束标签状态,当前处理的只能是一个状态
通过有限状态机会生成一些token,再通过从上到下扫描token,借用栈,生成一个AST树

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 笔记编辑器源码是使用 Vue.js 框架开发的一个项目,用于实现一个简单的笔记编辑器功能。这个项目主要包括以下几个部分: 1. 前端界面:使用 Vue 组件构建了一个用户友好的前端界面,包括一个笔记编辑区和一些相关的工具栏。用户可以在编辑区输入、修改和删除笔记内容,工具栏提供了一些格式化和样式调整的功能,例如粗体、斜体、标题等。 2. 数据绑定:Vue 提供了数据绑定的功能,使得用户在编辑器中输入的内容可以实时地与后端数据库进行交互和更新。这样就能保证用户在编辑笔记时的每一次操作都能即时地反映在后端数据库中,避免了数据丢失的情况。 3. 服务器端:源码中应该包括了一个服务器端的实现,用于处理前端页面的请求。服务器端会与数据库进行交互,根据前端发来的请求进行相应的操作,例如保存笔记、获取笔记列表等。 4. 数据库:源码中可能会包括一个数据库的设计和实现,用于存储用户的笔记数据。数据库的设计应该考虑到笔记的内容、作者、创建时间等信息,为编辑器提供持久化的存储功能。 总的来说,Vue 笔记编辑器源码使用了 Vue.js前端框架构建了一个简单易用的笔记编辑界面,通过数据绑定和与后端的交互,实现了用户对笔记的创建、编辑和保存功能。源码中还应该包括服务器端的实现和数据库的设计,以及其它一些必要的辅助功能和模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值