问题现象
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
其他诸如webpack、webpack-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也可以解决这个问题,只不过就不再有代码热更新的效果了。