关于webpack-cli近期发布最新版4.0.0带来的问题

问题现象

webpack项目启动webpack-dev-server服务失败,报Error: Cannot find module ‘webpack-cli/bin/config-yargs’

解决办法

webpack-cli回退版本到3.3.12:

npm install webpack-cli@3.3.12 –save-dev

其他诸如webpackwebpack-dev-server等用最新版本即可。

出现原因

webpack-cli几天前发布的最新版4.0.0版移除了yargs包,而紧挨4.0.0版本的上一正式版本3.3.12还在:

其他思考

webpack-dev-server的启动依赖了webpack-cli中的yargs配置模块,然而webpack-dev-server的最近一次更新已经快半年了,所以初步可认为是webpack-cli的问题。没有去深入研究过该模块相关的具体内容,尽管作者evilebottnawi本人说是webpack-dev-server的bug,会在不久后修复。可能依赖此模块一开始就是个错误的选择吧,所以最新版直接删掉了或者整合到了其他模块也不一定。利用webpack serve的方式启动webpack-dev-server也可以解决这个问题,只不过就不再有代码热更新的效果了。