我在使用最新版本的Webpack(5.1.0)时遇到了错误。看起来配置正在抛出错误,因为验证架构过于严格。这是我在要点中的 webpack 配置文件,以及我看到的错误消息。
Webpack.config.js
https://gist.github.com/adarshbhat/3ec5950b66b78102da0cf46e51a3d633
错误
[webpack-cli]
Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
- configuration.node should be one of these:
false | object { __dirname?, __filename?, global? }
-> Include polyfills or mocks for various node stuff.
Details:
* configuration.node has an unknown property 'module'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
* configuration.node has an unknown property 'net'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
* configuration.node has an unknown property 'fs'. These properties are valid:
object { __dirname?, __filename?, global? }
-> Options object for node compatibility features.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! jstest@1.0.0 start: `webpack serve`
npm ERR! Exit status 2
我正在尝试使用在 Node.js 环境和浏览器中都可以工作的解析器生成器库 (antlr4)。看起来库代码需要像 fs 这样的全局对象,如果它是空的,则假定它在浏览器环境中。根据 Antlr4 和 Webpack 的文档,这是一个受支持的配置文件。但它不起作用。请帮忙。
版本
- 网络包:5.1.0
- webpack-cli: 4.0.0
- webpack-开发中间件:3.7.2
- webpack-开发服务器:3.11.0
更新(2020 年 10 月 29 日)
Antlr JavaScript 文档现已更新为 Webpack 5 的新配置
原文由 redab 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Webpack 团队的一些帮助下,我设法让它工作。不再支持使用 antlr4 文档推荐的以下 webpack 配置。
不起作用
工作配置
有了这个,我就可以让我的 JavaScript 解析器工作了。
请注意,我们正在努力更新 antlr4 以生成基于 ES6 的代码。将来可能不需要此配置。