原来小程序开发有组件库选择的问题,可以使用WeUI或者Vant。今年腾讯开源了前端的框架TDesign,我也分享了两篇使用文章。
年初分享的主要是PC端的框架,除了有PC端的框架外,最近TDesign又新出了小程序的框架,组件比较丰富,今天就带着大家体验一下。
1 创建小程序
用微信扫码登录微信开发者工具,登录之后点击+号来创建项目 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8f1c1cb485a346c0954258097d453b44.png)
创建项目时,先需要填入项目名称,选择程序存放的目录,填入appid,后端选择不使用云服务,模板的话选择Javascript-基础模板 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c8fdbcf757a14c25aa7f0617f8316be8.png)
2 微信开发者工具介绍
创建好项目之后可以看到微信开发者工具的一个界面,界面是包含几个区域 ![在这里插入图片描述](https://img-blog.csdnimg.cn/54b7644904cb44c2a94d2e31e0ebd8d8.png) 导航条有默认的各种各样的功能,预览区是我们小程序编译之后的效果,文件区域我们可以创建各种各样的文件,代码编辑区可以写代码,调试区可以显示各种调试信息。
有的开发者喜欢用vscode或者uniapp来开发小程序,我呢还是喜欢原生的工具,我们只是需要最终的结果,选哪种工具最终的结果都是一样的。
3 项目的初始化
我们现在使用模板是一个空白的项目,如果需要使用TDesign的,我们先需要做初始化,生成package.json文件
在调试区,切换到终端 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d607e6913ce24d78b78538c7a0820c1f.png) 点击新建终端 ![在这里插入图片描述](https://img-blog.csdnimg.cn/ac69b798b948424da2cad82ca4271564.png) 在光标的位置输入如下命令
npm init
![在这里插入图片描述](https://img-blog.csdnimg.cn/3209dcc219c649a59819b5248ca54347.png) 一路按回车,完成package.json的创建 ![在这里插入图片描述](https://img-blog.csdnimg.cn/a70f4a6c57514dcdb45680a1673335a3.png)
4 安装TDesign
在终端的命令行继续输入如下的命令
npm i tdesign-miniprogram -S --production
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc7b40643bf94c34bba421b051e3b4f3.png) 安装成功后可以在文件区域看到多了一个node_modules ![在这里插入图片描述](https://img-blog.csdnimg.cn/f1b20a3629f447e7b18e6d643afd05ad.png) 按照官方文档的指引是要求做npm的构建,在导航条上找到工具,在工具下找到构建npm ![在这里插入图片描述](https://img-blog.csdnimg.cn/6af1808d32734f779d9b53bf7d79422a.png) 构建成功后在文件区域会多了一个miniprogram_npm的文件夹 ![在这里插入图片描述](https://img-blog.csdnimg.cn/99b7ef451ade49a286515655c875dbed.png)
5 全局引入或者局部引入组件
我们引入这个库就是为了使用,如果全局引入,就修改app.json,用哪个组件就引入哪个组件,比如我们需要使用Button组件,按如下引入
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"usingComponents": {
"t-button": "tdesign-miniprogram/button/button",
"t-button-group": "tdesign-miniprogram/button-group/button-group"
},
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "Weixin",
"navigationBarTextStyle":"black"
},
"style": "v2",
"sitemapLocation": "sitemap.json"
}
然后我们在index.wxml里增加按钮组件的代码,查看效果
<!--index.wxml-->
<view class="container">
<view class="userinfo">
<block wx:if="{{canIUseOpenData}}">
<view class="userinfo-avatar" bindtap="bindViewTap">
<open-data type="userAvatarUrl"></open-data>
</view>
<open-data type="userNickName"></open-data>
</block>
<block wx:elif="{{!hasUserInfo}}">
<button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
<button wx:elif="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
<view wx:else> 请使用1.4.4及以上版本基础库 </view>
</block>
<block wx:else>
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</block>
</view>
<view class="usermotto">
<text class="user-motto">{{motto}}</text>
</view>
<t-button t-class="external-class" theme="primary" block disabled="{{disabled}}">强按钮</t-button>
</view>
![在这里插入图片描述](https://img-blog.csdnimg.cn/3efd3e04bbc24261ad7d10ae0c84ac41.png) 如果只是页面中使用,可以在index.json里引入,引入的原理是一样的,这样就完成了一个组件库的搭建
6 总结
我们本篇介绍了如何在小程序中使用TDesign组件库,在开发中我们总是寻找一些现成的解决方案来提高开发效率,重复造轮子也可以,前提是你造的比别人好,而且用的人也多。本篇我们就分享到这,我们下次再见。
作者简介:用了三年时间研究了微信小程序、微信云开发、微搭的技术体系,后续持续分享小程序开发的相关教程,敬请关注
|