为微信小程序换皮肤之配置vant

微信小程序自带的控件虽然具有很好的通用性和简洁性,但在面对一些复杂的交互场景和个性化的设计需求时,可能会显得力不从心。其功能的相对基础使得开发者在实现诸如多步骤复杂表单提交、实时数据交互与可视化展示、高度定制化的界面布局等方面,需要投入更多的时间和精力去进行额外的开发和调试工作。而且在视觉效果的丰富度上,相较于一些专业的 UI 组件库,可能无法满足用户对于现代应用日益增长的审美和体验要求。例如,在构建一个具有丰富动画效果和独特交互逻辑的游戏类小程序或者一个强调品牌个性与独特视觉风格的高端电商小程序时,自带控件可能难以直接达到理想的效果,需要开发者通过复杂的代码逻辑和样式调整来弥补其不足,这无疑增加了开发的难度和成本。这里我们介绍一种常见的组件VANT
在这里插入图片描述

文章目录

  • 一、Nodejs的安装和配置
  • 二、给微信小程序项目配置vant
    • 1、初始化项目
    • 2、安装vant控件
    • 4、修改project.config.json配置
    • 5、构建npm
    • 6、在app.jason中注册组件
    • 小结:

一、Nodejs的安装和配置

首先,我们必须安装好nodejs,有关nodejs的安装前面的博文已经详细讲到过,这里不再赘述。可以参考《nodejs上通过express搭建一个轻量小巧服务器》
千万在安装的时候要选择将nodejs配置在path环境变量中去。
一定,一定,要重新启动你得电脑,否则你就无法在微信小程序的终端中访问nodejs,因为不重新启动它,系统变量的配置就无法生效。

在我们确认了nodejs的系统变量配置生效后,我们就可以进入微信小城的开发环境中进行vant的配置了,配置的方法,我们可以进入下面的网址参考其命令来进行配置。但这里我也清楚得列出了。

二、给微信小程序项目配置vant

1、初始化项目

npm init

2、安装vant控件

首推以下第一个安装指令

npm i @vant/weapp -S --production

也可以使用下面的来安装早期版本的vant

npm i vant-weapp -S --production

特别注意
但需要特别注意,如果你使用的是第一个指令,那么,你在对应的jason文件中注册组件时就用对应的格式,如
使用

npm i @vant/weapp -S --production

那么引入时就使用@vant/weapp开头的方式,如:
“usingComponents”: {
“van-icon”: “@vant/weapp/icon/index”
},
我们发现,van-icon后是用@vant/weapp/+组件名称
但如果,我们使用的是第二个指令

npm i vant-weapp -S --production

我们注册组件时就用vant-weapp开头的字符串来注册,如:
“usingComponents”: {
“van-icon”: “vant-weapp/icon/index”
},
否则,你就会出现程序报错,找不到组件对应的路径。

还有一个很尴尬的事情,那就是你安装时用的第二个指令,但使用的是最新的vant4,那么可能出现图标无法显示。或者显示为方块块。如下图:
在这里插入图片描述## 3、在app.jason中去掉

 "style": "v2",

在这里插入图片描述

4、修改project.config.json配置

需要手动在 project.config.json 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。

{
	"setting":{
	"packNpmManually": true,
    "packNpmRelationList":[
      {
        "packageJsonPath":"./package.json",
        "miniprogramNpmDistDir":"./"
      }
    ],
	}
}

在这里插入图片描述

5、构建npm

在工具菜单下,选择构建npm
在这里插入图片描述
构建成功后,我们的项目中会多出一个目录以小程序项目名称加_npm的文件夹
在这里插入图片描述

6、在app.jason中注册组件

比如这里我们将vant的button组件和Fieldinput组件注册在app.jason中,我们可以这样:

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

具体想注册哪种组件,我们就参考https://vant-ui.github.io/vant-weapp/中的说明来操作。
7、测试效果
我们在index.wxml中,添加两种组件的xml代码,如下

 <view class="input">
    <van-cell-group>
      <van-field value="{{ username }}" required clearable label="用户名" placeholder="请输入用户名"   border="{{true}}" bind:click-icon="onClickIcon" />
    
      <van-field value="{{ password }}" type="password" label="密码" placeholder="请输入密码" required border="{{ false }}"  maxlength="24"/>
    </van-cell-group>

   </view> 

   <view class="btnv">
    <van-button class="btn" type="primary">登录</van-button>
    <van-button class="btn" type="primary">退出</van-button>
  </view>

显示效果如下:
在这里插入图片描述

当然,咱们如果愿意,可以注册一个“Tabbar 标签栏”做成一个有导航功能的页面,如下图:
在这里插入图片描述

小结:

使用vant的好处就是可以获得与微信小程序默认组件不同的组件效果。不便之处也比较多:
1、要使用nodejs来安装和配置它
2、要修改好几处配置文件
3、每种控件在使用它前需要注册在对应的jason文件中,特别是路径如果配置错误就无法运行。
所以,这里特别提醒,不要使用错了版本,不同版本对组件路径的描述是不同的
建议通过下面的链接来获取相关代码实例
https://vant-ui.github.io/vant-weapp/#/home

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/904511.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8S配置storage-class

简介 Kubernetes支持NFS存储&#xff0c;需要安装nfs-subdir-external-provisioner&#xff0c;它是一个存储资源自动调配器&#xff0c;它可将现有的NFS服务器通过持久卷声明来支持Kubernetes持久卷的动态分配。该组件是对Kubernetes NFS-Client Provisioner的扩展&#xff0…

html生成图片方案总结

动态图片生成是我们日常开发中经常遇到的需求&#xff0c;比如宣传海报生成&#xff0c;电商商品图动态生成等&#xff0c;本文总结出三种常见的 HTML 生成图片的方案。 一、html2canvas html2canvas库能够将 HTML 元素渲染为 Canvas&#xff0c;然后将其转换为图片。它的优点…

【力扣刷题实战】相同的树

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 力扣题目&#xff1a; 相同的树 题目描述 示例 1&#xff1a; 示例 2&#xff1a; 示例 3&#xff1a; 解题思路 题目理解 算法选择 具体思路 解题要点 完整代码&#xff08;C语言&#xff09; 兄弟们共勉 &#…

如何使用AdsPower指纹浏览器克服爬虫技术限制,安全高效进行爬虫!

随着中国开发者日益成熟&#xff0c;应用质量明显提升&#xff0c;越来越多的开发者选择出海寻找机会扩大市场。但“应用出海”说起来容易&#xff0c;做起来难。其中&#xff0c;最大的困恼就是对海外市场缺乏了解。 很多开发者会选择使用网络爬虫&#xff08;Web Crawling&a…

Python小游戏18——中国象棋

首先&#xff0c;你需要安装Pygame库。如果你还没有安装它&#xff0c;可以使用以下命令进行安装&#xff1a; bash pip install pygame 运行结果 代码如下&#xff1a; python import pygame import sys # 初始化Pygame pygame.init() # 屏幕尺寸 SCREEN_WIDTH 800 SCREEN_HE…

轴承寿命预测 (Python 预测模型全家桶)

往期精彩内容&#xff1a; Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

【IC验证_systemverilog】信号类型

IC验证_systemverilog 1.信号声明2.变量类型3.数据类型4.符号 1.信号声明 语法&#xff1a; 变量类型 信号类型 符号转换 位宽 信号名 深度&#xff1b;2.变量类型 &#xff08;1&#xff09;说明&#xff1a; systemverilog中的信号类型主要分为线网类型&#xff08;wire&a…

camera和lidar外参标定

雷达和相机的外参标定&#xff08;外部参数标定&#xff09;指的是确定两者之间的旋转和平移关系&#xff0c;使得它们的坐标系可以对齐。 文章目录 无目标标定livox_camera_calibdirect_visual_lidar_calibration 有目标标定velo2cam_calibration 无目标标定 livox_camera_ca…

照片不完整?来试试智能扩图,简直不要太满意!(不是广告)

生活中有些照片拍过之后&#xff0c;当时觉得很满意&#xff0c;但过段时间就恨当初没有拍一张完整的图片&#xff01; ——来自小白的感慨 当时跟家里的叮当一起去旅游&#xff0c;我给他拍了一张好看的照片&#xff1a; 今天这张照片如果是整图就好了&#xff01;好气哦&am…

在银河麒麟系统中Qt连接达梦数据库

解决在银河麒麟系统中使用Qt连接达梦数据库提示&#xff1a;project Error library odbc is not defined问题 一、编译ODBC 下载解压unixODBC&#xff08;http://www.unixodbc.org/unixODBC-2.3.1.tar.gz&#xff09; 打开终端&#xff0c;切换到unixODBC-2.3.1目录下&#x…

【WebDriver】浏览器驱动下载及其配置

一、Windows电脑环境搭建-Chrome浏览器 行业内&#xff0c;Chrome (谷歌) 浏览器对于自动化程序来讲是比较稳定的. 自动化程序推荐使用 Chrome 浏览器的原因有几个&#xff1a; 开发者工具&#xff1a;Chrome 提供强大的开发者工具&#xff0c;方便调试和测试自动化脚本。 稳…

时序分解 | TTNRBO-VMD改进牛顿-拉夫逊算法优化变分模态分解

时序分解 | TTNRBO-VMD改进牛顿-拉夫逊算法优化变分模态分解 目录 时序分解 | TTNRBO-VMD改进牛顿-拉夫逊算法优化变分模态分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 (创新独家)TTNRBO-VMD改进牛顿-拉夫逊优化算优化变分模态分解TTNRBO–VMD 优化VMD分解层数K和…

深度图和RGB图对齐

坐标系间的转换_坐标系转换-CSDN博客 深度图与彩色图的配准与对齐_彩色 深度 配准-CSDN博客 kinect 2.0 SDK学习笔记&#xff08;四&#xff09;--深度图与彩色图对齐_mapdepthframetocolorspace-CSDN博客 相机标定&#xff08;三&#xff09;-相机成像模型_相机小孔成像模型…

天润融通突破AI客服局限,三大关键提升文本机器人问答效果

近期&#xff0c;AI客服再次登上热搜&#xff0c;引发网友集体吐槽&#xff0c;比如AI客服虽然态度客气&#xff0c;但听不懂客户诉求&#xff0c;回答问题驴唇不对马嘴&#xff0c;解决不了问题...... 更有网友将这些问题升级到&#xff0c;企业就是不想解决问题才交给AI客服…

微服务之间调用,OpenFeign传递用户(RequestInterceptor接口)

场景&#xff1a;微服务之黑马商城项目-登录拦截器在网关完成用户的校验&#xff0c;并将用户信息&#xff08;用户id&#xff09;存入请求头&#xff0c;假设将购物车里面的商品进行结算就会生成订单并清空购物车&#xff0c;这里涉及到了交易服务模块远程调用购物车模块&…

Java避坑案例 - “激进”的线程池扩容策略及实现

文章目录 问题思路线程池的默认行为自定义线程池扩容策略Code实现小结 问题 Java 线程池是先用工作队列来存放来不及处理的任务&#xff0c;满了之后再扩容线程池。当我们的工作队列设置得很大时&#xff0c;最大线程数这个参数显得没有意义&#xff0c;因为队列很难满&#x…

OpenAI低调发布多智能体工具Swarm:让多个智能体协同工作!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;专注于分享AI全维度知识&#xff0c;包括但不限于AI科普&#xff0c;AI工…

C++设计模式结构型模式———适配器模式

文章目录 一、引言二、适配器模式三、类适配器四、总结 一、引言 适配器模式是一种结构型设计模式&#xff0c;它在日常生活中有着广泛的应用&#xff0c;比如各种转换接头和电源适配器&#xff0c;它们的主要作用是解决接口不兼容的问题。就像使用电源适配器将220V的市电转换…

【Clickhouse】客户端连接工具配置

ClickHouse 是什么 ClickHouse 是一个分布式实时分析型列式存储数据库。具备高性能&#xff0c;支撑PB级数据&#xff0c;提供实时分析&#xff0c;稳定可扩展等特性。适用于数据仓库、BI报表、监控系统、互联网用户行为分析、广告投放业务以及工业、物联网等分析和时序应用场…

巴西电商市场神仙打架,美客多多月蝉联访问量榜首,9月Temu位居巴西APP下载量榜首

巴西电商市场近年来呈现出强劲的增长趋势&#xff0c;预计2024年巴西电子商务市场的销售额将达到2043亿雷亚尔&#xff08;约合373亿美元&#xff09;&#xff0c;同比增长约10%。作为拉美地区最大的经济体&#xff0c;巴西吸引了众多电商平台和商家&#xff0c;巴西电商市场竞…