微信小程序开发(九):使用扩展组件库
前端开发中离不开各种组件库,我最先接触的组件库还是Bootstrap
,后来工作中又陆续使用了inoic
、ng-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引入的方式占据太多代码空间的话,我更喜欢使用第三方组件库。(实在没办法的话,只能使用分包加载的办法了。。)
微信小程序开发(九):使用扩展组件库相关推荐
- 《微信小程序-进阶篇》Lin-ui组件库源码分析-列表组件List(一)
大家好,这是小程序系列的第二十篇文章,在这一个阶段,我们的目标是 由简单入手,逐渐的可以较为深入的了解组件化开发,从本文开始,将记录分享lin-ui的源码分析,期望通过对lin-ui源码的学习能加深组 ...
- 微信小程序简易搭建之框架/组件库
微信小程序简易搭建之框架/组件库 Vant weapp 下面看看如何导入 https://github.com/youzan/vant-weapp 使用教程: 1.下载后找到dist 2. 在你的项目 ...
- 微信小程序开发03-这是一个组件
编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...
- 微信小程序开发入门教程-文本组件介绍
学习小程序开发要从哪开始呢?我们是开始顺序学习官方文档么?如果一开始就从头开始读官方文档,恐怕用不了多久你就放弃了.计算机是一门实践科学,我们学习的目的是为了解决现实问题.要么你想在互联网创业,开发一 ...
- 微信小程序中使用Vant Weapp组件库
介绍 Vant 是一个轻量.可靠的移动端组件库,于 2017 年开源. 目前 Vant 官方提供了 Vue 2 版本.Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序 ...
- 在微信小程序里引入Vant Weapp组件库详细步骤
1. 新建一个文件夹. 2. 使用微信开发者工具 选择一个模板(这里以javaScript 基础模板 为例) 选择完模板之后如下: 2. 右键打开终端:按如下步骤执行命令. ① npm init 解释 ...
- 微信小程序开发初学:图片组件 - image
image组件用于在小程序中插入图片并对插入的图片进行简单修改.支持 JPG.PNG.SVG.WEBP.GIF 等格式. image具有的属性 src 类型:String 默认值:无 图片的网络地址或 ...
- 微信小程序开发中调用button组件添加微信客服功能
个人比较喜欢这个解决方案,原因一是由腾讯官方运营,比较稳定.二是确实很方便啊,直接用微信回复就好了.核心代码就一行,如下 <button open-type="contact" ...
- 微信小程序(五)--- Vant组件库,API Promise化,MboX全局数据共享,分包相关
目录 一.npm包 1.Vant Weapp (1)安装Vant组件库 (2)使用Vant组件 (3)定制全局主题样式 2.API Promise化 (1)基于回调函数的异步API的缺点 (2)API ...
- 微信小程序开发的的基本组件
一.视图容器组件 1.常见的视图容器组件 (1).view 普通视图区域 类似于 HTML 中的 div ,是一个块级元素 常用来实现页面的布局效果 (2).scroll-view 可滚动的视图区域 ...
最新文章
- Struts2中表单与Action传递数据三种方式
- 在Eclipse添加Android兼容包( v4、v7 appcompat )
- ArcGIS + Oracle 创建企业级地理数据库
- Eclipse——添加库(Add Library)到项目
- 2017 php7 使用率,让PHP7达到最高性能的几个Tips
- Linux中的组合键
- c++实现插入和冒泡排序
- VS2005中GridView簡單應用
- Flyweight设计模式
- python是轻量级语言吗_python socket 轻量级服务器详解
- Java事务管理之JDBC
- Windows7下安装配置PHP开发环境
- python编程可以自学么-python编程还能自学?怎么能学好? - 【大连东软睿道】
- 搭建fabric-sample/balance-transfer网络详解
- 帆软参数设置_帆软报表参数
- 蜜蜂科技Bee+创始人贾凡、OFO创始人戴威入选高山大学2018级名单
- 《JOEL说软件》-- Jole Spolsky
- SqlSugar.SqlSugarException: English Message : Connection open error . 给定关键字不在字典中
- Win10注册表无法保存对权限所作的更改拒绝访问
- python的pyaudio教程入门_Python PyAudio 安装使用