摘要
今天分享下 ——
uni-app
系列(九):uni-app
编译报caniuse-lite is outdated
的处理方案 的一些基本知识,欢迎关注!
欢迎阅读,总结系列:野蛮生长的 uni-app 学习之路
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
正式版确实未及时更新导致过期,很快会发更新解决。另外 alpha
版是正常的)
解决方案2,在老版 HBuilderX
下手动升级 caniuse-lite
的 npm
库
如果不想升级 HBuilderX
,也可在老版下解决问题。
- 项目是
HBuilderX
创建的- 打开
HBuilderX
的安装目录,HBuilderX/plugins/uniapp-cli
删除node_modules
以及package-lock.json
- 在当前目录执行
npm install
- 打开
- 如果你的项目是
cli
创建的,请自行在cli
环境下升级npm
包
最后感谢大家耐心观看完毕,原创不易,六个点赞收藏是您对我最大的鼓励!
最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!