解决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 正式版确实未及时更新导致过期,很快会发更新解决。另外 alpha 版是正常的)

解决方案2,在老版 HBuilderX 下手动升级 caniuse-lite 的 npm 库

如果不想升级 HBuilderX ,也可在老版下解决问题。

  • 项目是 HBuilderX 创建的
    • 打开 HBuilderX 的安装目录, HBuilderX/plugins/uniapp-cli

删除 node_modules 以及 package-lock.json – 在当前目录执行 npm install

  • 如果你的项目是 cli 创建的,请自行在 cli 环境下升级 npm

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有资源及文章均来源于网络及用户分享或为本站原创,仅限用于学习和研究,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 解决uni-app编译报caniuse-lite is outdated的问题

发表评论

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们