可以在浏览器中运行,不需要 nodejs 环境,压缩后体积为 155KB
使用 acorn和escodegen 来 进行 javascript 源代码 和 抽象语法树的相互转换的ES模块,
把escodegen和estraverse和esutils模块都从commonjs模块改成ES模块,acorn使用自带的ES模块
并且使用rollup 打包,并开启tree-shaking和使用terser代码压缩
从 cdn 获取
https://cdn.skypack.dev/@masx200/[email protected]/
<script type="module">
import {
parse,
generate,
} from "https://cdn.skypack.dev/@masx200/[email protected]/";
</script>npm install --save https://github.com/masx200/acorn-parse-escodegen-generate-esm-broweser.git或者
yarn add https://github.com/masx200/acorn-parse-escodegen-generate-esm-broweser.git
import { parse, generate } from "acorn-parse-escodegen-generate-esm-broweser";var code = "var b=3";
var ast = parse(code);
var text = generate(ast);A small, fast, JavaScript-based JavaScript parser
https://github.com/acornjs/acorn
https://npm.taobao.org/package/acorn
ECMAScript code generator