简体   繁体   English

橡子的插件loose_parser?

[英]Plugins for acorn loose_parser?

This code snippet seems not work, why? 此代码段似乎不起作用,为什么?

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)

Give us next error: 给我们下一个错误:

...\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)

Is it bug or I do something wrong? 是错误还是我做错了什么?

Enviroment: idea intellij 16. 环境:构想IntelliJ 16。

Update: 更新:

Chrome give the similar error. Chrome给出了类似的错误。

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

您还需要在这里使用pluginsLoose而不是plugins

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM