webpack-dev-server 无法 运行 并出现 validateSchema 错误

webpack-dev-server fails to run with error of validateSchema

这是一个react hello-world proj,在本地机器win7上,使用npm下载 包,当 运行 “ webpack-dev-server --open ” 时出现如下错误:

F:\now\react\setup\node_modules\webpack-cli\bin\convert-argv.js:7
const validateSchema = process.webpackModule.validateSchema;

TypeError: Cannot read property 'validateSchema' of undefined
...

screenshot about error info

这是 package.json 和 webpack.config.js

{
  "name": "setup",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack-dev-server --open"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {},
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.4",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "react": "^16.4.0",
    "react-dom": "^16.4.0",
    "webpack": "^4.10.2",
    "webpack-cli": "^3.0.0",
    "webpack-dev-server": "^3.1.4"
  }
}

webpack.config.js:

const webpack = require('webpack');

module.exports = {
  
  devServer: {
    contentBase: "./src",
    historyApiFallback: true,
    inline: true
  },
   
  module: {
        rules: [
            {
                test: /(\.jsx|\.js)$/,
                use: {
                    loader: "babel-loader",
                    options: {
                        presets: [
                            "env", "react"
                        ]
                    }
                },
                exclude: /node_modules/
            }
        ]
    }
}

大约 10 小时前,webpack-cli 刚刚从 v2 升级到 v3,看起来这可能是 v3 的一个错误。我还没有想出真正的解决办法,但一个临时的解决方法是通过手动将 package.json 中的版本号更改为 ^2.0.0.

来降级到 webpack-cli v2

希望能帮助您暂时摆脱困境。