2016-11-09 4 views
0

このコードスニペットは機能しないようですが、なぜですか?ドングリのためのプラグインloose_parser?

var acorn = require("./node_modules/acorn/dist/acorn_loose"); 

/* Extend default Acorn's methods.*/ 
acorn.pluginsLoose.testPlug = function(looseParser) { 
    looseParser.extend('finishNode', function(nextMethod) { 
     return function(node, type) { 
      console.log(node, type); 
      return nextMethod.call(this, node, type); 
     }; 
    }); 
}; 

var res = acorn.parse_dammit("alert(1", {ecmaVersion: 6, plugins: {testPlug: true}}); 

console.log(res) 

私たちに次のエラーを与える:

...\node_modules\acorn\dist\acorn.js:508 
    if (!plugin) throw new Error("Plugin '" + name + "' not found") 
       ^

Error: Plugin 'testPlug' not found 
    at Parser.loadPlugins (...\node_modules\acorn\dist\acorn.js:508:26) 
    at new Parser (...\node_modules\acorn\dist\acorn.js:444:10) 
    at Object.tokenizer (...\node_modules\acorn\dist\acorn.js:3115:12) 
    at new LooseParser (...\node_modules\acorn\dist\acorn_loose.js:15:23) 
    at Object.parse_dammit (...\node_modules\acorn\dist\acorn_loose.js:1258:13) 
    at Object.<anonymous> (...\plugins_poc.js:16:17) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 

それはバグですか、私は間違って何かをしますか?

的環境:16

Update:

IntelliJのアイデアChromeは同様のエラーを与えます。あなたがここにもpluginsLooseの代わりpluginsを使用する必要が

答えて

0
var res = acorn.parse_dammit("alert(1", {ecmaVersion: 6, plugins: {testPlug: true}}); 

関連する問題