PEGJS不会在解析器文件中生成“ module.exports”

时间:2019-12-20 00:37:15

标签: pegjs

我尝试使用下面的代码生成解析器文件,但是最终结果文件parser.js不包含导出行,尽管我在选项中包含了exportVar:...

我想手动将其添加到文件顶部吗?

const peg = require('pegjs');
const fs = require('fs');

const grammarAsString = fs.readFileSync('./grammar.pegjs').toString();

const option = {
  output: 'source',
  exportVar: 'module.exports',
};

const parserSourceCode = peg.generate(grammarAsString, option);
fs.writeFileSync('./parser.js', parserSourceCode);

1 个答案:

答案 0 :(得分:1)

已通过将格式选项设置为“ commonjs”并将其传递给解析器来解决。

const option = {
  output: 'source',
  format: 'commonjs',
};
const parserSourceCode = peg.generate(grammarAsString, option);
fs.writeFileSync('./parser.js', parserSourceCode);