Javascript 使用require和module.exports导入PEGJS解析器

Javascript 使用require和module.exports导入PEGJS解析器,javascript,node.js,pegjs,Javascript,Node.js,Pegjs,我试图在多个不同的文件中使用PEGJS解析器。我使用方法var Parser=require(“./Parser”) 但是,当我尝试使用Parser.parse解析某些内容时,我无法这样做,因为解析器是未定义的 我怎样才能解决这个问题?它以前一直在工作,但我对语法做了一些更改,不得不重新生成解析器 我运行它时得到的确切错误是 未捕获的TypeError:无法读取未定义的属性“parse” 下面是我试图导入的基本代码 module.exports = (function() { //Som

我试图在多个不同的文件中使用PEGJS解析器。我使用方法var Parser=require(“./Parser”)

但是,当我尝试使用Parser.parse解析某些内容时,我无法这样做,因为解析器是未定义的

我怎样才能解决这个问题?它以前一直在工作,但我对语法做了一些更改,不得不重新生成解析器

我运行它时得到的确切错误是 未捕获的TypeError:无法读取未定义的属性“parse”

下面是我试图导入的基本代码

module.exports = (function() {
    //Some other functions
    function parse(input) {
        //Parse code
    },
    //Some other functions
})();
我正在尝试导入这个函数,并与

var Parser = require("./Parser");

//Some other code

    Parser.parse(options.queryText)

我注意到您需要使用“./Parser”。解析器文件是否在node_modules文件夹中?如果是,请尝试删除./并查看是否有帮助。它不在node_modules文件夹中。它与使用require引用它的其他文件位于同一文件夹中。您应该编辑您的问题以包含一些代码。Parser.js将什么设置为其module.exports?是什么导致该值变为null?Parser.js正是pegjs通过命令行上的“pegjs grammar.txt Parser.js”运行时输出的值。它将module.exports设置为具有多个子函数的函数,其中一个是parse。但当我尝试访问该解析函数时,我得到了未定义的错误,因为没有定义解析器。可能的重复