解决uniapp使用vant-weapp开发微信小程序的坑

这篇文章主要是为使用uniappvant-weappui库的童鞋解决一个痛点。

使用过uniapp开发微信小程序的都知道uniapp内置了es6转es5,如果开启了小程序的es6转es6,那么会导致一些不可预计的语法错误,例如async/await无法使用。

但是如果关闭小程序的es6转es5,那么存放于static目录vant-weapp的组件无法被编译成es5,导致使用组件报错。

核心原因:

由于vant-weapp的模块化机制为import/export,小程序的模块化是require/module.exports

知道原因就好解决了,改源码。手动将引入的组件和组件所依赖的js全部修改为require/module.exports

例子:

1、先修改引入处,

// vant/dist/popup/index.js
// -----修改前-------
import { VantComponent } from '../common/component';
import { transition } 
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uniapp 是一个基于 Vue.js 的跨平台开发框架,可以用它来快速构建小程序、H5、App 等多个平台的应用。而 Vant-weapp 是一款基于微信小程序UI 组件库,提供了丰富的组件和样式,可以大大提升开发效率。 在 Uniapp使用 Vant-weapp,需要先将 Vant-weapp 中的组件转化为 Uniapp 中的组件。具体步骤如下: 1. 安装 Vant-weapp 可以通过 npm 或者下载源代码的方式安装 Vant-weapp。这里以 npm 安装为例: ``` npm i vant-weapp -S --production ``` 2. 将 Vant-weapp 转化为 Uniapp 组件 Uniapp 的组件和微信小程序的组件略有不同,需要将 Vant-weapp 中的组件转化为 Uniapp 中的组件。可以使用 `mpvue-entry` 工具来实现: ``` npm i mpvue-entry -D ``` 然后在 `build` 目录下创建一个 `mpvue.config.js` 文件,将以下代码复制进去: ```js const MpvueEntry = require('mpvue-entry') module.exports = { pages: MpvueEntry.getEntry('src/pages/**/*.vue') } ``` 这样就可以将 Vant-weapp 中的组件转化为 Uniapp 中的组件了。 3. 在页面中使用 Vant-weapp 组件 在页面中引入 Vant-weapp 组件时,需要在 `script` 标签中使用 `import` 引入: ```html <template> <!-- 这里使用 Vant-weapp 的搜索框组件 --> <van-search /> </template> <script> import { VanSearch } from 'vant-weapp' export default { components: { VanSearch } } </script> ``` 这样就可以在 Uniapp使用 Vant-weapp 组件了。需要注意的是,在使用 Vant-weapp 组件时,需要将组件名从 `van-` 前缀改为 `Van`,例如 `van-search` 改为 `VanSearch`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值