通过变换,获取父范围常量的值

时间:2016-03-07 21:09:30

标签: javascript abstract-syntax-tree babeljs

假设我有这样的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');

0 个答案:

没有答案