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

当前回答

解决方案

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

其他回答

我也遇到过类似的问题。我认为这与webpack版本有关。

2021年7月更新

拥有“webpack-cli”:“^4或以上”版本,以及“webpack”:“^5或以上”版本的人,。

你可以尝试用这个命令更新你的webpack版本

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

现在去你的包裹。Json,在scrpits下添加这一行

"dev": "webpack serve --mode development --env development"

这对我来说很管用。

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

打开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

npm install -D webpack-cli@3

解决方案

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

请使用webpack服务运行webpack-dev-server

webpack serve --config config/webpack.dev.js --progress --profile --watch --content-base src/