VUE核心编译器第十九个文件

44 阅读1分钟

codegen.ts 此文件主要用来生成代码
createCodegenContext 创建代码生成器的上下文对象,此外还能进行换行操作及,在资源图中加入代码并在报错时指向资源图,最后返回上下文对象
generate 在 ast 获取节点并生成代码函数,最后返回编译后的对象
genFunctionPreamble 此方法主要用来创建VUE中的导入文件,如果是后端环境,使用require 如果是浏览器使用变量指向特定字符。
genModulePreamble 此函数主要用来处理import导入的声名
genAssets 此函数主要用来写入编译的资源,并每引入一个资源换一次行
genHoists 此函数主要用来编译声名
genImports 编译导入每导入一次换一行
isText 判断节点是文本
genNodeListAsArray 编译节点列表的数组
genNodeList 编译节点列表
genNode 编译节点
genText 编译文本,将文本压入数组
genExpression 编译表达式,将表达式压入内容
genCompoundExpression 编译复合表达式
genExpressionAsPropertyKey 编译表达式属性的键
genComment 编译命令节点
genVNodeCall 编译指令节点
genNullableArgs 编译空参数
genCallExpression 编译表达式
genObjectExpression 编译对象表达式
genArrayExpression 编译数组表达式
genFunctionExpression 编译函数表达式
ConditionalExpression 编译条件表达式
genCacheExpression 编译缓存表达式
genTemplateLiteral 编译模版文字
genIfStatement 编译IF语句
genAssignmentExpression 编译赋值表达式
genSequenceExpression 编译块表达式
genReturnStatement 编译返回语句