AST环境安装及使用

本文介绍了如何搭建AST在线解析环境,包括安装Node.js,使用npm安装@babel/node,创建并配置.babelrc文件。接着,通过@babel/parser解析JS代码,将代码转化为抽象语法树(AST),遵循ESTree规范。示例中展示了对一个简单的JS代码块进行解析的过程,并提供了查看和打印AST节点的方法。
摘要由CSDN通过智能技术生成

1.环境安装

AST在线解析网站:https://astexplorer.net/

 可以看出Parser用的是 babel/parser  ,这是一个目前最流行的JS语法编译器Babel的Node.js包。

Babel是编译器。babel/parser是Babel中的解析器,用于解析JS语言,本质也是一个Node.js包

准备工作:

        1.安装Node.js

                下载 | Node.js 中文网

        2.之后就可以使用npm命令了。然后通过npm install -g @babel/node 安装一个babel的命令行工具@babel/node

        3.初始化node.js项目,项目名为learn-ast,在自己的项目目录下执行下列命令

#执行npm init后,需要按很多回车,并输入yes才ok。
npm init

npm install -D @babel/core @babel/cli @babel/preset-env

        4.在项目目录下创建一个.babelrc文件,内容如下

{
  "presets": [
    "@babel/preset-env"
  ]
}

至此,环境安装完毕。

2.使用

AST的使用:

        输入:一段JS代码

        输出:该段JS代码对应的抽象语法树,既AST,它是基于ESTree规范的.

现在我们在项目下创建一个/code/code1.js文件,然后对其进行解析

const a = 3;
let string = "hello";
for (let i = 0;i < 3;i++){
    string += "world"
}
console.log("string",string)

在创建一个basic1.js文件实现生成ast

import { parse } from "@babel/parser";
import fs from "fs";

const code = fs.readFileSync("code/code1.js","utf-8");
let ast = parse(code);
console.log(ast)

目录结构如下:

然后再终端执行 babel-node code/basic1.js

即可生成ast 如下:

可以多加一句console.log(ast.program.body)来打印未展示出来的node节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值