运行webpack-dev-server——config config/webpack.dev.js——progress——profile——watch——content-base src/时出错。下面是错误日志:

module.js:442
throw err;
^

Error: Cannot find module 'webpack/bin/config-yargs'
at Function.Module._resolveFilename (module.js:440:15)
at Function.Module._load (module.js:388:25)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3) 

当前回答

问题出在webpack-cli的新版本上。如果webpack-cli <= 3。X webpack-dev-server包工作正常。对于webpack-cli >= 4。X,使用NPX webpack serve命令运行本地服务器。

For webpack-cli 3.x:
"scripts": {
  "start:dev": "webpack-dev-server --mode=development"
}

For webpack-cli 4.x:
"scripts": {
  "start:dev": "webpack serve --mode=development"
}

其他回答

我通过运行npm start来解决这个问题,这只是一个运行“webpack-dev-server”的包装器,而不是直接在控制台运行webpack-dev-server。问题是我把选项传递给了一个我不应该传递选项的方法。

用npm start运行webpack-dev-server显示了正确的错误消息。直接运行webpack-dev-server只给了我“错误:无法找到模块'webpack/bin/config-yargs'”。奇怪。

我在: :“webpack ^ 2.6.1”, :“webpack-dev-server ^ 2.7.1”

下调webpack-cli

npm install -D webpack-cli@3

当我只在本地安装webpack而没有在全局安装它时,我也会出现这个错误。

我已经在全球安装了webpack-dev-server,它依赖于webpack的全球安装。公平地说,npm在安装webpack-dev-server时确实抱怨过:

未满足对等依赖webpack@^2.2.0

一般情况是由于Webpack与Webpack -dev-server版本不兼容。 就像我也有这个问题,我的电脑的webpack是1.15.0,但webpack-dev-server是2。X以上版本。 所以我卸载webpack-dev-server: npm卸载webpack-dev-server -g 然后安装1.15.0版本的webpack-dev-server,你可以通过npm install webpack-dev-server@1.15.0 -g来解决这个问题

尝试将webpack版本从1更改。X到2。X在你的package.json:

Eg:

 "devDependencies": {
    "webpack": "2.2.0-rc.3",
    "webpack-dev-server": "2.1.0-beta.0",
    "webpack-validator": "^2.3.0"
  }

当你使用webpack-dev-server的预发布版本和webpack的发布版本时,有时会发生这种情况,反之亦然。