前言#
我们终于分析完了(其实还有一些没分析,比如inlineTemplate的场景)。
这篇文章是用来给路标的。
正文#
调用入口分析、选择测试单元、处理仅有non setup script block的场景,以及$ref语法糖处理。#
坏蛋Dan:vue/compiler-sfc源码分析学习--part2:如何处理script--day1
2. 处理同时存在setup block和non setup block的non setup block以及如何分辨变量的类型。#
坏蛋Dan:vue/compiler-sfc源码分析学习--part2:如何处理script--day1
3. 处理setup block,包括props、emits等的初步处理。这块是量最大的代码,也是比较重要的。#
坏蛋Dan:vue/compiler-sfc源码分析学习--part2:如何处理script--day1
4. 这块也是比较重要的,继续处理数据(主要是props和emits的场景),以及组装成setup函数的参数。#
坏蛋Dan:vue/compiler-sfc源码分析学习--part2:如何处理script--day1
5. 生成setup函数语句,合并之前的数据,最终组装成非语法糖的代码。返回数据。#
坏蛋Dan:vue/compiler-sfc源码分析学习--part2:如何处理script--day1
最后#
这块终于分析完了(虽然还有些代码没分析,比如inlineTemplate)。
怎么说呢?没有弯弯绕绕(小声bb: 比如webpack)又或者涉及到算法的代码。整体看下来,其实就是在对babel转换出来的AST做处理,对任何可能存在的场景做判断处理。
前置学习条件也就需要对babel和AST有基础知识(当然,找入口以及如何调试又是另一个问题)。
我们接下去按照之前的目标,该分析template了。
坏蛋Dan:vue/compiler-sfc源码分析学习2--确认后续分析目标
另外part1,有兴趣可以看下~
坏蛋Dan:vue/compiler-sfc源码分析学习--part1: parse入口分析
编辑于 2022-12-06 19:18・IP 属地广东
