2017-01-24 16 views
2

入力パラメータを取得するために特定の名前を持つすべての関数を見つけるはずのbabelプラグインを作った。しかし、私はそれが期待どおりに実行されません。Babelプラグインが正常に動作しない - 出力が常に表示されない

今のところ私は単純にconsole.logのパラメータを期待していますが、必ずしもそうとは限りません。実際に

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はコードの一部しかキャッシュしないので、x分待っても期待される出力が得られますか?

答えて

2

問題は、babelキャッシュが使用されていたことでした。

query: { 
 
      cacheDirectory: '.babelcache' 
 
     }

キャッシュを削除した後、私は期待される出力を得た

関連する問題