类型错误:无法使用 ReactJs 在 webpack-cli 中读取未定义的属性“presetToOptions”

IT技术 reactjs webpack
2021-04-27 10:29:53

我工作的ReactJS应用和配置"webpack": "^2.7.0""webpack-cli": "^2.0.9“但同时,从CMD运行的WebPack它具有以下错误。

const statsPresetToOptions = require("webpack").Stats.presetToOptions;
                                                                             ^

TypeError: Cannot read property 'presetToOptions' of undefined
    at processOptions (F:\reactJs_weather\React-Weather-App\node_modules\webpack-cli\bin\webpack.js:284:57)

你有什么主意吗?

4个回答

webpack-cli至少 需要webpack 版本 4才能运行。

如果您使用的是 webpack 2 或 3 等旧版本,则无需webpack-cli单独添加包。它已经内置于旧版本中webpack

从版本 4 开始,整个 CLI 已被移植到一个单独的包中webpack-cli

修复应该是删除webpack-cli包或使用最新版本的webpack>=4.

有一个关于将 webpack 4 添加为对等依赖项持续公关,所以很快就会弹出一个大致相同的警告。

相关讨论:webpack 未列为 peer添加 webpack 4 作为 peer 依赖

我也遇到了问题并使用以下步骤解决:

  1. 卸载 webpack-cli npm uninstall webpack-cli
  2. 使用"build": "webpack --config build/webpack.conf.js --color" 中的package.json代替的WebPack-CLI为构建

希望它会有所帮助。

node_modules\webpack-cli\bin更改您的真实 Stats.js 文件的路径中。

对我来说,下一条路径是正确的:

statsPresetToOptions = require("../../webpack/lib/Stats.js").presetToOptions;

我没有完全相同的错误,我有statsPresetToOptions is not a function,但是npm uninstalling 和npm installingwebpack-cli解决了它。去搞清楚。