如何在mpvue中正确的引用小程序的原生自定义组件

简介: 最近,很多人给我留言,问我说怎么在mpvue项目中引入小程序原生框架中的自定义组件。有这种需求,是非常正常的一件事情。因为在实际开发中,我们通常希望使用已有的开源组件库来进行开发,这些开源组件库大多是基于原生自定义组件的方式写成,比如目前比较流行的Vant Weapp、iView Weapp等等。

最近,很多人给我留言,问我说怎么在mpvue项目中引入小程序原生框架中的自定义组件

有这种需求,是非常正常的一件事情。因为在实际开发中,我们通常希望使用已有的开源组件库来进行开发,这些开源组件库大多是基于原生自定义组件的方式写成,比如目前比较流行的Vant Weapp、iView Weapp等等。所以,在mpvue项目中如何引入并使用这些自定义组件,就成了必须了解的一个问题。

有些朋友在自己尝试的过程中遇到了挺多的问题,那就让我来告诉你们经过我实测后认为的正确使用方式吧。

步骤一:生成你的mpvue工程

通过vue-cli命令,我们先生成一个全新的mpvue工程代码:

vue init mpvue/mpvue-quickstart my-project

然后进入该工程目录,通过npm安装依赖:

cd my-project
npm install

步骤二:下载小程序组件库

小程序的组件库有挺多,我们这里选用iVew Weapp作为示例。你可以直接去github把iView Weapp的代码下载下来,也可以用过npm来下载:

npm i iview-weapp

下载完成后,到它的目录中寻找名为dist的目录,这里面存放的就是iView Weapp原生小程序自定义组件代码。

步骤三:将组件库复制到工程的static目录下

你可以将上面提到的整个dist目录复制到你的mpvue工程下的static目录下(记得一定要是static目录,否则这些代码会被mpvue编译器错误的进行处理),然后给这个dist目录改个名字,比如叫iview。

步骤四:为需要使用自定义组件的Page进行配置

我们知道,原生小程序开发中,我们如果要在Page中使用自定义的组件,则需要在该Page对应的.json配置文件中配置要使用的自定义组件。在mpvue中,我们也需要做等价的配置。

比如,现在我要在src/pages/index/index.vue中使用iView中的i-button组件,那么就先要在src/pages/index/main.json(如果没有该文件,则新建一个)中进行如下配置:

{
  "usingComponents": {
    "i-button": "../../static/iview/button/index"
  }
}

步骤五:在Page中使用自定义组件

经过上一步的配置,我们就可以开始在src/pages/index/index.vue中使用这个i-button组件了,就像这样:

<template>
  <div class="container">
    <i-button type="primary" @click="bindViewTap">这是一个按钮</i-button>
  </div>
</template>

运行这个小程序,能看到如下的样子:

怎么样?很简单吧!快试试吧。

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

目录
相关文章
|
15天前
|
小程序 JavaScript
【微信小程序】之轮播图、swiper、swiper-item、banner组件使用
【微信小程序】之轮播图、swiper、swiper-item、banner组件使用
【微信小程序】之轮播图、swiper、swiper-item、banner组件使用
|
1月前
|
存储 小程序 JavaScript
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
|
1月前
|
JSON 小程序 数据格式
【微信小程序】-- 自定义组件总结 (四十)
【微信小程序】-- 自定义组件总结 (四十)
|
1月前
|
小程序 JavaScript
【微信小程序】-- 自定义组件 - behaviors(三十九)
【微信小程序】-- 自定义组件 - behaviors(三十九)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
|
15天前
|
小程序 JavaScript
【微信小程序】之自定义三宫格一行展示row-grid(简单数据看板)
【微信小程序】之自定义三宫格一行展示row-grid(简单数据看板)
|
13天前
|
小程序 程序员
【uniapp微信小程序】自定义导航栏:非首页展示的实现方式(极为快捷方式)
【uniapp微信小程序】自定义导航栏:非首页展示的实现方式(极为快捷方式)
11 0
|
1月前
|
JSON 资源调度 小程序
一个强大的小程序富文本组件mp-html
一个强大的小程序富文本组件mp-html
23 0
|
1月前
|
JSON 小程序 前端开发
【微信小程序】-- 案例 - 自定义 tabBar(四十六)
【微信小程序】-- 案例 - 自定义 tabBar(四十六)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 父子组件之间的通信(三十八)
【微信小程序】-- 自定义组件 - 父子组件之间的通信(三十八)

热门文章

最新文章