Babel插件不按预期运行 – 输出不总是显示

我已经做了一个babel插件,应该find具有特定名称的所有function,以获得input参数。 但是,它并没有像我期望的那样运行。

现在我只是console.log预期的参数,但它们并不总是find。

 module.exports = function ({ types: t }) { return { visitor: { CallExpression: function(path) { const node = path.node; console.log("name:", node.callee.name); if(node.callee.name === 'i18n') { const argumentNode = node.arguments[0]; if(t.isStringLiteral(argumentNode)){ console.log(argumentNode.value); } } } } }; }; 

其实第一个console.log

 console.log("name:", node.callee.name); 

创造像20个输出,但我期待更多的方式。

.babelrc ,我添加了我的ast-crawler像这样:

 { "plugins": [ "babel-plugin-add-module-exports", "ast-crawler" ], "presets": [ ["es2015"], "react", "stage-2" ] } 

我试图改变顺序,但结果是一样的。

有时我得到所有预期的输出,但为什么我不总是得到它? babel只会caching一些我的代码,所以如果我等待x分钟,我会得到预期的输出?

问题是使用了babelcaching。

 query: { cacheDirectory: '.babelcache' }