【问题标题】:Antlr javascript with webpack带有 webpack 的 Antlr javascript
【发布时间】:2017-01-12 16:49:32
【问题描述】:

我正在尝试将 webpack 与 antlr 4 javascript 目标一起使用。我正在关注这份文件。 https://github.com/antlr/antlr4/blob/master/doc/javascript-target.md

如果我理解正确,webpack 会将 antlr4 javascript 运行时库中的所有文件和生成的文件(Lexer.js、Listener.js 和 Parser.js)合并到一个文件中。我只需要在我的 html 中包含这一个文件。

我不明白文档中要求排除 node.js 模块的这一部分。有人可以解释为什么需要这条线吗?

webpack.config 文件中,排除 node.js 仅使用的模块:node: { module: "empty", net: "empty", fs: "empty" }

我也没有任何自定义侦听器或访问者。我可以忽略这些步骤吗?我没有创建任何带有解析代码入口点的 index.js 文件。

  • 通过提供您的自定义侦听器或访问者以及相关代码,使用“require”加载 antlr 来编写您的解析树处理代码。
  • 创建一个 index.js 文件,其中包含解析代码的入口点(或多个,如果需要)。**

【问题讨论】:

标签: webpack antlr4


【解决方案1】:

我明白为什么我需要在 webpack.config.js 中进行这个配置。如果我没有这个配置

node: {
        module: "empty",
        net:"empty",
        fs: "empty"
    },

运行 webpack 命令时出现以下错误:-

./~/antlr4/FileStream.js 中的错误 找不到模块:错误:无法解析 /node_modules/antlr4 中的模块“fs” @ ./~antlr4/FileStream.js 38:20-33

违规行是

var fs = isNodeJs ? require("FS") : null;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多