运行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/yargs,在你的情况下)。当您将一个项目搁置了一段时间,并且node_modules目录中的一些依赖项已经过时时,这种情况会经常发生。一个非常简单的解决方案,在对不同版本的东西大惊小怪之前,只是把你的node_modules目录移动到一个临时位置,然后重新运行npm install:

% mv node_modules nod_modules.REMOVED
% npm install

然后,尝试重新运行webpack。

其他回答

在我的案例中,解决方案就是使用以前的版本

"webpack": "^4.44.1",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0"

尝试将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的发布版本时,有时会发生这种情况,反之亦然。

我忘记安装webpack-cli。所以我按照命令运行,问题得到了解决。

npm i -D webpack-cli

我刚刚解出来了。

问题出在index.html的路径上。

来自:

<script src="./dist/myBundle.js"></script>

to:

<script src="myBundle.js"></script>

如果你正在使用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"}