假设我有这样的Javascript代码
import someFunc from 'somewhere';
const prefix = 'Planet';
someFunc(prefix + 'Earth');
如果我在项目中使用babeljs,我可以编写简单的转换插件
export default function({types: t}) {
return {
visitor: {
CallExpression: {
enter(path, {opts, file}) {
if (path.node.callee.name !== 'someFunc') {
return;
}
<...>
}
}
}
}
}
我如何采取&#39;前缀&#39;插件中的变量值或者评估整个BinaryExpression表达式,用结果字符串替换它来获取它?
import someFunc from 'somewhere';
someFunc('PlanetEarth');