uni-app在微信小程序中vant包报错的问题(useragent of undefined)

1、项目背景是uni-app框架,H5和微信小程序都有需求

关于引入,csdn上看到最好并且能使用的文章是:

uni-app 多端操作引入vant 避坑亲测版~_uniapp vant 兼容多端吗-CSDN博客

上面记录了同时引入vant1(weapp) 和vant2(或者其他版本);

核心原理是在mian.js中使用了uni-app的分条件编译:

即:// #ifndef MP-WEIXIN

在非微信小程序中,读取的vant包是在node_modules文件夹中的vant包;

在微信小程序中,使用了vant1,并且在 wxcomponents 中额外手动导入的 dist文件夹,并且在pages.json中手动注册(全局/局部都可以);

那在碰到vant包报错的时候,我就很奇怪,明明是分别导入了符合环境的包,这个useragent怎么还是没读取到呢?

点进去看发现还是在微信环境导入了node_modules的vant包,这就很让人费解了;

最后回到自己页面发现的问题是

在自己的页面中,实际上是不需要在按需导入vant包了,按文章最开头的链接中,只要在main.js全部引入(按需引入也可以,对应在vant2官网的方法修改)。

如果在.vue文件或者.nvue中再引入,微信便会认为你的引入是在node_modules中的包,所以导致了这次报错。

很合理。

实际是粗心导致的,忘记了自己在这个页面中又引入过。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值