React核心源码解析

78 阅读1分钟

1.babel Babel 是一个 JavaScript 编译器,提供了JavaScript的编译过程,能够将源代码转换为目标代码。

2.过程: AST -> Transform -> Generate 第一步:将react源码转换成ast抽象树

image.png 第二步:对ast抽象树进行转换 image.png

第三步:生成目标代码 image.png

3.转换示例代码

import presetEnv from '@babel/preset-env'
import fs from 'node:fs'
const file = fs.readFileSync('./test.js', 'utf8')
const result = Babel.transform(file, {
    presets: [presetEnv]
})
console.log(result.code)

官网 babeljs.io/

查看AST astexplorer.net/

Babel所有的包 babeljs.io/docs/babel-…