在计算机科学中,这被称为 quasiquotes(逆符号) 的实现。
npm install --save-dev babel-template
import template from "babel-template";
import generate from "babel-generator";
import * as t from "babel-types";
const buildRequire = template(`
var IMPORT_NAME = require(SOURCE);
`);
const ast = buildRequire({
IMPORT_NAME: t.identifier("myModule"),
SOURCE: t.stringLiteral("my-module")
});
console.log(generate(ast).code);
const myModule = require("my-module");
template(code, [opts])类型: string
babel-template 接收 babylon 中的所有选项,并为它自己指定一些默认值:
allowReturnOutsideFunction 默认设置为 true 。allowSuperOutsideMethod 默认设置为 true 。类型: boolean 默认值: false
将其设置为 true 以保留来自 code 参数的任何注释.
babel-template 返回一个带有可选替换对象一起调用的 function 。有关示例,请参阅用法部分。