关于 webpack-cli4.0 及以上版本 和 webpack-dev-server 之间的依赖报connot find module “webpack-cli/bin/config-yargs”

关于 webpack-cli4.0 及以上版本 和 webpack-dev-server 之间的依赖报connot find module “webpack-cli/bin/config-yargs”

之前我写过一篇博客,解决的办法是对 webpack-cli 进行降级处理,不过目前又有了新的解决方案。

新的解决方案

关于 webpack-cli4.0 及以上版本 和 webpack-dev-server 之间的依赖报connot find module “webpack-cli/bin/config-yargs”

在 webpack 官网上可以看到依赖的下载与设置方法没有改变,启动命令发生了改变。
直接 webpack serve --open,就可以了

依赖关系

依赖 版本 新版本
webpack 4 5
webpack-cli 3 4
webpack-dev-server 3 3

之前的依赖关系是 webpack-dev-server 依赖于 webpack-cli 内部的 config-yargs,cli 升级到 4.0 以后,统一了 webpack 命令的入口文件,反过来依赖 webpack-dev-server 来实现 webpack serve --open 的命令。
关于 webpack-cli4.0 及以上版本 和 webpack-dev-server 之间的依赖报connot find module “webpack-cli/bin/config-yargs”

待解决

还有一个问题是 webpack5 当中的,在 webpack5 中,如果你设置 browserslist 就会导致 webpack-dev-server 的热更新失效,无论是在 package.json 里面设置,还是在 .browserslistrc 文件内设置都会如此。

目前这还是一个bug,还在等待官方团队升级处理。
issue的最新进展:https://github.com/webpack/webpack-dev-server/issues/2758#issuecomment-710086019