运行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 4上也遇到了同样的问题。

这是版本兼容问题。

要解决这个问题,请执行以下命令在webpack 4中安装webpack-cli。

 yarn add webpack-cli -D

其他回答

我通过运行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版本改为3.0,web-dev-server版本改为2.7.1

Eg:

"devDependencies": {
    "webpack": "^3.0.0",
    "webpack-cli": "2.0.13",
    "webpack-config-utils": "2.0.0",
    "webpack-dev-server": "^2.7.1",
    "webpack-validator": "2.2.7"
}

如果你正在使用webpack-cli 4或webpack 5,将webpack-dev-server更改为webpack serve。

例子:

"serve": "webpack serve --config config/webpack.dev.js --progress"

你可能还想看看GitHub上的这条评论:

NPM包。Json脚本是一种方便而有用的运行方式 本地安装的二进制文件,而不必关心它们的 完整路径。简单地定义一个脚本如下: 对于webpack-cli 3.x: "scripts": {"start:dev": "webpack-dev-server"} 对于webpack-cli 4.x: "scripts": {"start:dev": "webpack serve"}

上面的答案对我都没用。如果你仍然得到这个错误,你可以试试这个,这解决了我的问题:

打开node_modules \ webpack-dev-server \ bin \ webpack-dev-server.js 修改第84行:require('webpack-cli/bin/config-yargs')(yargs);

To:

要求(webpack-cli / bin / config / config-yargs) (yargs); 修改第92行:const config = Require ('webpack-cli/bin/convert-argv')(yargs, argv, {

To:

const config = require('webpack-cli/bin/utils/convert-argv')(yargs, argv, {

问题出在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"
}