之前我写过一篇博客,解决的办法是对 webpack-cli 进行降级处理,不过目前又有了新的解决方案。
新的解决方案
在 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 的命令。
待解决
还有一个问题是 webpack5 当中的,在 webpack5 中,如果你设置 browserslist 就会导致 webpack-dev-server 的热更新失效,无论是在 package.json 里面设置,还是在 .browserslistrc 文件内设置都会如此。
目前这还是一个bug,还在等待官方团队升级处理。
issue的最新进展:https://github.com/webpack/webpack-dev-server/issues/2758#issuecomment-710086019