TypeError:无法使用ReactJs读取webpack-cli中未定义的属性'presetToOptions'

ama*_*ain 9 reactjs webpack

我正在研究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)
Run Code Online (Sandbox Code Playgroud)

你有什么主意吗?

小智 7

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 依赖


小智 0

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

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

statsPresetToOptions = require("../../webpack/lib/Stats.js").presetToOptions;
Run Code Online (Sandbox Code Playgroud)