前端开发中离不开各种组件库,我最先接触的组件库还是Bootstrap,后来工作中又陆续使用了inoicng-zorro等各种不同的库。

在微信小程序开发中也有多种组件库,这里记录其中几种不同组件库的使用方法。

WeUI

这是微信官方推出的一款和微信原生视觉体验一致的UI组件库,可以通过useExtendedLib的方式引入,也可以通过npm方式使用。使用方式方法简单。

第一种:userExtendedLib方式

1、在app.json文件中设置启用weiui,

{"pages":["pages/index/index"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "Weixin","navigationBarTextStyle":"black"},"style": "v2","sitemapLocation": "sitemap.json",//在这里启用"useExtendedLib": {"weui": true}
}

2、在目标页面的page.json文件中引入要使用的weui组件

{"usingComponents": {"mp-icon": "weui-miniprogram/icon/icon"}
}

使用过小程序自定义组件功能的同学应该知道, 这里要在json文件的usingComponents属性中引入相应组件,其中组件的路径需要保证准确,比如我这里用的icon组件就位于'weui-miniprogram/icon/icon'路径下,这也是使用扩展库的方式引入weui组件之后默认的路径。

3、在模板文件中使用组件

<mp-icon type="field" icon="add" color="black" size="{{25}}"></mp-icon>
<mp-icon icon="add" color="black" size="{{25}}"></mp-icon>

完成这三步组件就能正常渲染了。

第二种:使用npm方式

1、使用npm 下载并安装weui

npm install weui-miniprogram --save

npm指令执行完成后,可以看到在项目根目录下已经存在一node_modules文件夹,里面有一个weui-miniprogram。WeUi的框架资源都在weui-miniprogram目录中了。

2、构建npm
在小程序开发工具栏-点构建npm后,根目录生成miniprogram_npm文件夹。

我在这一步遇到了一个错误,当我点击构建npm之后,开发工具给我提示了一条错误信息:

错误信息提示我,在我的项目根目录内没有找到可构建的NPM包,但是我很确定我是已经下载了NPM包的(就是第一步截图中的weui-miniprogram)。
经过一番调查发现,我的项目中缺少了使用npm的一个关键文件:package.json, npm CLI需要通过它来识别项目并了解如何处理项目的依赖关系。
解决方法:
在npm install 之前,使用npm init指令先初始化项目,这样就会生成一个对应的package.json文件,有了这个文件,npm就知道如何处理项目文件之间的依赖关系了。
在安装的过程中,所有配置项都选择默认,确定后就会生成一个最简的package.json文件:

{"name": "mydemo","version": "1.0.0","description": "","main": ".eslintrc.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC","dependencies": {"weui-miniprogram": "^1.2.4"}
}


现在再去执行npm构建,就可以构建成功了。

3、在 app.wxss 里面引入 weui.wxss,引入的时候要注意文件路径,路径错误会导致控制台报错。

@import '/miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weui.wxss';

只要到这一步能够操作正确,接下来在页面中使用组件就和userExtendedLib 方式一样了。

4、在目标页面的page.json文件中引入要使用的weui组件

{"usingComponents": {"mp-icon": "weui-miniprogram/icon/icon"}
}

4、在模板文件中使用组件

<mp-icon type="field" icon="add" color="black" size="{{25}}"></mp-icon>
<mp-icon icon="add" color="black" size="{{25}}"></mp-icon>

另一个常用的组件库:Vant Weapp

Vant Weapp是我在开发中也经常会用到的一款小程序UI组件库,它是有赞移动端组件库 Vant 的小程序版本。
使用方式和weui npm引入的方式一样,首先使用npm i @vant/weapp -S --production命令下载依赖包,下载完成后同样使用构建npm功能,构建完成后在小程序根目录的miniprogram_npm文件夹下可以看到对应的文件,这里名字叫做@vant

引入组件:

"usingComponents": {"van-button": "@vant/weapp/button/index"
}

同样的,在页面中使用组件之前,需要先引入对应组件,我们可以在小程序全局配置文件app.json或者在对应的page.json中引入用到的组件就可以使用了!

分析一下两种组件库的优缺点吧

weui是微信推出的官方组件库,可以通过配置useExtendedLib的方式直接使用,并且这种使用方式组件不会占据代码包的空间,这样我们就可以增加更多的业务代码(毕竟小程序后台对单个代码包的大小是有严格限制的)。但是确定也是很明显的,使用过程中明显感觉到weui组件库中的元素并不是很多,很多地方需要开发者自己自定义组件,并且组件的风格我也不是很喜欢。

以Vant Weapp为例的的第三方组件库,组件更加丰富,而且现在网上这么多组件库,总有一款符合开发者的心理预期。

如果期望更丰富和多样化的组件,并且不嫌弃npm引入的方式占据太多代码空间的话,我更喜欢使用第三方组件库。(实在没办法的话,只能使用分包加载的办法了。。)

微信小程序开发(九):使用扩展组件库相关推荐

  1. 《微信小程序-进阶篇》Lin-ui组件库源码分析-列表组件List(一)

    大家好,这是小程序系列的第二十篇文章,在这一个阶段,我们的目标是 由简单入手,逐渐的可以较为深入的了解组件化开发,从本文开始,将记录分享lin-ui的源码分析,期望通过对lin-ui源码的学习能加深组 ...

  2. 微信小程序简易搭建之框架/组件库

    微信小程序简易搭建之框架/组件库 Vant weapp 下面看看如何导入 https://github.com/youzan/vant-weapp 使用教程: 1.下载后找到dist 2. 在你的项目 ...

  3. 微信小程序开发03-这是一个组件

    编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...

  4. 微信小程序开发入门教程-文本组件介绍

    学习小程序开发要从哪开始呢?我们是开始顺序学习官方文档么?如果一开始就从头开始读官方文档,恐怕用不了多久你就放弃了.计算机是一门实践科学,我们学习的目的是为了解决现实问题.要么你想在互联网创业,开发一 ...

  5. 微信小程序中使用Vant Weapp组件库

    介绍 Vant 是一个轻量.可靠的移动端组件库,于 2017 年开源. 目前 Vant 官方提供了 Vue 2 版本.Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序 ...

  6. 在微信小程序里引入Vant Weapp组件库详细步骤

    1. 新建一个文件夹. 2. 使用微信开发者工具 选择一个模板(这里以javaScript 基础模板 为例) 选择完模板之后如下: 2. 右键打开终端:按如下步骤执行命令. ① npm init 解释 ...

  7. 微信小程序开发初学:图片组件 - image

    image组件用于在小程序中插入图片并对插入的图片进行简单修改.支持 JPG.PNG.SVG.WEBP.GIF 等格式. image具有的属性 src 类型:String 默认值:无 图片的网络地址或 ...

  8. 微信小程序开发中调用button组件添加微信客服功能

    个人比较喜欢这个解决方案,原因一是由腾讯官方运营,比较稳定.二是确实很方便啊,直接用微信回复就好了.核心代码就一行,如下 <button open-type="contact" ...

  9. 微信小程序(五)--- Vant组件库,API Promise化,MboX全局数据共享,分包相关

    目录 一.npm包 1.Vant Weapp (1)安装Vant组件库 (2)使用Vant组件 (3)定制全局主题样式 2.API Promise化 (1)基于回调函数的异步API的缺点 (2)API ...

  10. 微信小程序开发的的基本组件

    一.视图容器组件 1.常见的视图容器组件 (1).view 普通视图区域 类似于 HTML 中的 div ,是一个块级元素 常用来实现页面的布局效果 (2).scroll-view 可滚动的视图区域 ...

最新文章

  1. Struts2中表单与Action传递数据三种方式
  2. 在Eclipse添加Android兼容包( v4、v7 appcompat )
  3. ArcGIS + Oracle 创建企业级地理数据库
  4. Eclipse——添加库(Add Library)到项目
  5. 2017 php7 使用率,让PHP7达到最高性能的几个Tips
  6. Linux中的组合键
  7. c++实现插入和冒泡排序
  8. VS2005中GridView簡單應用
  9. Flyweight设计模式
  10. python是轻量级语言吗_python socket 轻量级服务器详解
  11. Java事务管理之JDBC
  12. Windows7下安装配置PHP开发环境
  13. python编程可以自学么-python编程还能自学?怎么能学好? - 【大连东软睿道】
  14. 搭建fabric-sample/balance-transfer网络详解
  15. 帆软参数设置_帆软报表参数
  16. 蜜蜂科技Bee+创始人贾凡、OFO创始人戴威入选高山大学2018级名单
  17. 《JOEL说软件》-- Jole Spolsky
  18. SqlSugar.SqlSugarException: English Message : Connection open error . 给定关键字不在字典中
  19. Win10注册表无法保存对权限所作的更改拒绝访问
  20. python的pyaudio教程入门_Python PyAudio 安装使用

热门文章

  1. 从键盘输入两个数,求它们的和并输出
  2. onblur和onclick冲突的解决方法
  3. 简单的Java连接MySQL数据库
  4. pyinstaller failed to execute script XXX
  5. 网络通信_vlanif虚拟网关
  6. HTML5开发手机项目总结【很好】
  7. element+高德地图 使用地址定位查询
  8. Echarts柱状图叠加、重合
  9. 做到这三点,你的ERP系统就能有效地减少库存
  10. 在Debian11 基础上安装 Proxmox VE 7 虚拟化平台