1.今天继续学习剩下的几个babel对外开放的几个api(Tools)
- @babel/generator
此工具依赖需要自行安装,用以生成js代码。
npm install --save-dev @babel/generator
example:
/*
*@discription 生成输出代码字符串,此工具的选项好像没有效果?
*@param ast 抽象语法树
*@param options 选项 {@link https://babeljs.io/docs/en/babel-generator}
*@param sourceCode 源码字符串
*@return {code:string,map:null | object,rawMappings: null | object}
*/
const generate = require('@babel/generator').default;
generate(ast, {
/* options */ }, sourceCode);
- @babel/code-frame
此工具依赖需要自行安装,用以生成终端错误提示。
npm install --save-dev @babel/code-frame
example:
const codeFrameColumns =require("@babel/code-frame").default;
const sourceCode = `class Foo {
constructor()
}`;
const raw = 3;
const col = 10;
/*
*@discription 生成错误
*@param sourceCode 对应错误的源码片段
*@param raw 行
*@param col 列
*@param options 选项 {@link https://babeljs.io/docs/en/babel-code-frame}
*@return markupErrorStr 返回标记错误的源码字符串片段
*/
const markupErrorStr= codeF