uni-app编译报caniuse-lite is outdated的处理方案
caniuse库过期问题的原因
uni-app的编译器是基于npm的,依赖了众多包括mpvue、webpack在内的npm库,这些库又引用了一个三方库caniuser-lite。
caniuser-lite这个库的代码里有个浏览器兼容数据的更新检查,过老的数据影响自动补齐css前缀。
开发者平时写uni-app时并不需要手动补浏览器的css前缀,就是因为这个库在自动补前缀。
这个库它自己每半年过期一次,过期后会报错如下:
Browserslist: caniuse-lite is outdated. Please run next command `npm update caniuse-lite browserslist`
这个报警不影响编译成功,只是告警提示
对于熟悉npm的开发者,这个报警不足为奇,按命令提示更新即可。
但HBuilderX的很多开发者不熟悉npm,遇到问题可能就不知该怎么办了。
目前可用的解决方案如下几种:
解决方案1,升级HBuilderX或cli
不要用半年前的HBuilderX,或cli,持续保持升级。(HBuilderX正式版2.8.11之前的版本存在过期问题,升级到2.8.11即可)
解决方案2,在老版HBuilderX下手动升级caniuse-lite的npm库
如果不想升级HBuilderX ,也可在老版下解决问题。
- 项目是HBuilderX创建的
- 打开HBuilderX的安装目录,
HBuilderX/plugins/uniapp-cli
- 删除
node_modules
以及package-lock.json
- 在当前目录执行
npm install
- 打开HBuilderX的安装目录,
- 如果你的项目是cli创建的,请自行在cli环境下升级npm包
回答
THE END
二维码