运行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) 

当前回答

2021年1月

使用webpack 5,只需将webpack-dev-server命令替换为webpack serve

其他回答

更新:3月21日

尝试用下面的命令更新你的webpack依赖项

npm install --save-dev webpack webpack-cli webpack-dev-server

如果它不工作,然后使用如下

我有这些依赖,但我面临同样的问题

"webpack": "^5.6.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^3.11.0"

我找到了一个解决方案,添加一个新的脚本或在你的开始脚本包。Json对我很有用。所以你也可以试试这种方法。

"dev": "webpack服务-模式开发-环境开发"

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

npm i -D webpack-cli

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

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

未满足对等依赖webpack@^2.2.0

将命令"serve":"webpack -dev-server"修改为"serve":"webpack serve"即可解决此问题。我已经在webpack开发服务器v3.11.0和v3.11.2上尝试了这个解决方案;对我来说,两者都很好。

解决方案

package.json

"scripts": {
    "startdev": "webpack serve --mode development --env development --hot --port 3000"
    ...
    ...
  },
"devDependencies": {
...
    "webpack": "^5.10.1",
    "webpack-cli": "^4.2.0"
 },

控制台

$ npm run startdev