chenshuhong / fullstack

我的全栈路线思维导图以及日常知识记录
MIT License
0 stars 0 forks source link

Babel #20

Open chenshuhong opened 4 years ago

chenshuhong commented 4 years ago

babel 的转译过程也分为三个阶段,这三步具体是:

解析 Parse: 将代码解析生成抽象语法树( 即AST ),即词法分析与语法分析的过程 转换 Transform: 对于 AST 进行变换一系列的操作,babel 接受得到 AST 并通过 babel-traverse 对其进行遍历,在此过程中进行添加、更新及移除等操作 生成 Generate: 将变换后的 AST 再转换为 JS 代码, 使用到的模块是 babel-generator

chenshuhong commented 4 years ago

如何写一个babel插件?

Babel的插件模块需要你暴露一个function,function内返回visitor

module.export = function(babel){
  return {
    visitor:{
    }
  }
}