认识
2024年11月10日
一、认识
jscodeshift 是一个 JavaScript
代码转换工具,主要用于批量代码迁移、重构和格式化。通过基于 AST
(抽象语法树)的代码操作,jscodeshift
可以修改 JavaScript
代码库中的特定模式,非常适合大规模项目。其主要用途包括代码重构、API
迁移和语法转换等。
二、语法
2.1 JavaScript 解析为 AST
const jscodeshift = require("jscodeshift");
const sourceCode = `
const a = 1;
const b = 2;
const c = a + b;
const add = (a, b) => a + b;
const d = add(a, b);
`;
const ast = jscodeshift(sourceCode);
console.log("ast", ast);
2.2 查找 AST 中指定类型节点
查找、过滤变量语句: 通过 VariableDeclaration
可以过滤出 var
、let
、const
变量声明语句。
const jscodeshift = require("jscodeshift");
const sourceCode = `
const a = 1;
const b = 2;
const c = a + b;
const add = (a, b) => a + b;
const d = add(a, b);
`;
const ast = jscodeshift(sourceCode);
const { VariableDeclaration } = jscodeshift;
const result = ast.find(VariableDeclaration, { kind: "const" });
console.log("result", result);