【微信小程序开发】宠物预约医疗项目实战-环境配置与Vant UI集成

news2024/9/24 17:39:56

第一章 宠物预约医疗项目实战-环境配置与Vant UI集成

文章目录

  • 前言
  • 一、Vant UI是什么?
  • 二、使用步骤
  • 2.1 安装 node.js
  • 2.2 通过 npm 安装vant
  • 2.3 修改 app.json
  • 2.4 修改 project.config.json
  • 2.5 构建 npm 包
  • 2.6 使用组件
    • 全局引入和局部引入
    • 全局引入
    • 局部引入


前言

Vant是一个轻量、可靠的移动端组件库,于2017年开源。目前Vant官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。
微信小程序版本的Vant组件库是Vant Weapp,其官方文档是 https://youzan.github.io/vant-weapp/#/home
我们废话不多说,直接进入主题,在微信小程序中使用Vant Weapp


一、Vant UI是什么?

Vant UI是一款基于Vue.js开发的轻量级移动端组件库,为开发人员提供了一系列常用且易于使用的UI组件,如Button、Tab、Popup、NavBar等,减少了繁琐的UI开发工作,提升了开发效率。同时,Vant UI支持定制主题,使得开发人员能够根据自己的需求进行主题配置,使界面风格更加符合用户需求。Vant UI在GitHub上拥有超过25000个star和34000个fork,得到了广大开发者的喜爱和认可。

二、使用步骤

2.1 安装 node.js

在使用 Vant Weapp 前,我们需要安装 node.js ,因为后面会用到 npm 指令。
下载网址:https://nodejs.org/zh-cn/·····
下载长期维护版的 node.js 安装包,然后安装一路点击Next,注意勾选上 Add to PATH 即可。
在这里插入图片描述
安装完成后测试node.js是否安装成功:
在cmd终端中输入 node -v 后回车显示版本号,表示安装成功!
·

node -v 

2.2 通过 npm 安装vant

首先,在终端中打开项目根目录(注意:云开发项目要打开根目录下的 miniprogram 目录)

接着,输入初始化项目的命令

npm init -y

然后通过 npm 指令安装 Vant Weapp

npm i @vant/weapp -S --production

备注:-y 的含义:yes的意思,在初始化的时候省去了敲回车的繁琐步骤

命令执行成功后,可以看到项目多了几个文件

在这里插入图片描述

2.3 修改 app.json

将 app.json 中的 “style”: “v2” 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。
在这里插入图片描述

2.4 修改 project.config.json

由于开发者工具创建的小程序目录文件结构问题,npm 构建无法正常工作,需要在project.config.json 中修改如下配置(普通项目和云开发项目修改的内容略有不同):
在这里插入图片描述在这里插入图片描述
关于修改 project.config.json 的详细内容,可见官方文档的快速上手中的步骤三

2.5 构建 npm 包

project.config.json文件中
参数配置

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

打开微信开发者工具,点击 工具 -> 构建 npm,并勾选 使用 npm 模块 选项,可见官方文档 快速上手 的 步骤四。新版的微信开发者工具中,详情 -> 本地设置中没有【使用 npm 模块】选项,则不用理会, 如果有则需要勾选。

2.6 使用组件

你只需要在 app.json 或 你需要使用 vant 的页面中的 json 文件进行组件的注册即可使用了
这里涉及到注册组件的两种方式,后面会讲到。下面,以在 app.json 全局注册 button 组件为例:
在这里插入图片描述

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

注册引入组件后,在 wxml 中直接使用组件
效果如下:

全局引入和局部引入

前面我们说到可以在 app.json 或 需要使用 vant 的页面中的 json 文件进行组件的注册这两种引入组件的方式,这里分别称之为 全局引入 和 局部引入。

全局引入

全局引入只需在 app.json 配置 usingComponents 选项即可引入组件,在所有页面中都可以使用引入的组件。这种方式的缺点是会给项目造成压力,建议当一个组件在很多页面都需要用到时,才使用全局引入。
在这里插入图片描述

局部引入

在页面的 json 文件里配置 usingComponents 选项,这种按需引入组件的方式,我暂且称它为局部引入。这种方式,可以减少项目的压力,但是只有当前页面可以使用该组件,其他页面不能使用。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux驱动开发---day3(自启动创建设备节点进行点灯实验、ioctl函数实现点灯实验)

自动创建设备节点udev机制的实现过程 udev是自动创建设备节点,逻辑在用户空间过程:1)首先注册字符设备驱动,得到标识设备的设备号 2)获得设备信息后,先创建一个设备类,向上提交目录…

微服务如何改变软件开发:实战经验与最佳实践分享

文章目录 什么是微服务?微服务实战经验1. 定义明确的服务边界2. 使用API网关3. 自动化部署和持续集成4. 监控和日志记录 微服务最佳实践1. 文档和通信2. 弹性设计3. 安全性4. 版本控制5. 监控和警报 微服务的未来 🎉欢迎来到架构设计专栏~微服务如何改变…

【Redis专题】一线大厂Redis高并发缓存架构实战与性能优化

目录 前言为什么要用Redis前置知识一、缓存问题1.1 缓存击穿1.2 缓存穿透1.3 缓存雪崩 二、缓存方案2.1 普通缓存2.2 冷热分离2.3 多级缓存2.4 缓存预热 *课程内容一、一个案例引发的思考(电商场景)二、代码优化方案的演进2.1 问题一:纯【读】…

自动生成bug异常追踪-SRE与开发自动化协同

作者:观测云 数据智能部 产品方案架构师 范莹莹 简介 生产环境 bug 的定义:RUM 应用和 APM 应用的 error_stack 信息被捕捉后成为 bug。 以 APM 新增错误巡检为例,当出现新错误时,在观测云控制台的「事件」模块下生成新的事件报…

比elk还香的日志平台

作者 观测云 产品技术专家 深圳办公室 黄小龙 写在前面的话 日志是开发人员记录系统运行状态的最佳手段,是一个系统的重要组成部分。日志通常不属于系统的核心功能,但却是我们了解系统运行用的最多的功能。对于开发和运维人员来说,好的日志可…

LeetCode【28. 找出字符串中第一个匹配项的下标】

不要用珍宝装饰自己,而要用健康武装身体 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 …

微软亚洲研究院:给张图片普通人也能轻松完成图片编辑

效果 代码 https://github.com/Fantasy-Studio/Paint-by-Example 问题 之前图像编辑使用语言引导,作者研究使用example作为引导来进行图像编辑,直接融合(复制粘贴)会导致明显的融合伪影 利用生成先验:从预训练的文…

事务管理AOP

事务管理 事务回顾 概念:事务是一组操作的集合,它是一个不可分割的工作单位,这些操作要么同时成功,要么同时失败 操作: 开启事务:一组操作开始前,开启事务-start transaction/be…

使用SSH通过FinalShell远程连接Ubuntu服务器

文章目录 SSH远程连接Ubuntu服务器Ubuntu服务器端安装SSH服务用户创建及sudo权限配置Linux账号管理useradd(adduser)userdelusermod切换用户 FinalShell端 参考文献 Windows系统Ubuntu16.04.6(以上版本通用)虚拟机、服务器 SSH远…

飞机大战小游戏

欢迎来到程序小院 飞机大战 玩法: 单机屏幕任意位置开始,点击鼠标左键滑动控制飞机方向,射击打掉飞机,途中遇到精灵吃掉可产生联排发送子弹,后期会有Boss等来战哦^^。开始游戏https://www.ormcc.com/play/gameStart/1…

Java 并发编程面试题——Fork/Join 框架

目录 1.什么是 Fork/Join 框架?2.什么是工作窃取算法?它有什么作用?有什么优缺点?3.如何设计一个 Fork/Join 框架?4.如何使用 Fork/Join 框架?5.Fork/Join 框架的实现原理是什么?5.1.ForkJoinTa…

数据结构-leetcode-数组形式的整数加法

解题图解: 下面是代码: /*** Note: The returned array must be malloced, assume caller calls free().*/ int* addToArrayForm(int* num, int numSize, int k, int* returnSize){int k_tem k;int klen0;while(k_tem){//看看k有几位k_tem /10;klen;}i…

【无公网IP内网穿透】Java支付宝沙箱环境支付,SDK接口远程调试

目录 1.测试环境 2.本地配置 3. 内网穿透 3.1 下载安装cpolar内网穿透 3.2 创建隧道 4. 测试公网访问 5. 配置固定二级子域名 5.1 保留一个二级子域名 5.2 配置二级子域名 6. 使用固定二级子域名进行访问 1.测试环境 MavenSpring bootJdk 1.8 2.本地配置 获取支付…

MapModule模块 基于folium的二次封装,让绘图更简洁

背景 开源库 GpsAndMap 的 MapModule 模块基于 folium 模块进行了二次封装,引入 GpsModule 模块中的GPS坐标类作为数据基础,集成了10种地图瓦片可以直接添加引用,提供了直观便利的图层管理功能。 引入模块 pip install GpsAndMap 模块结构…

将整数S按照指定的进制输出为RR的数据类型为字符串numpy.base_repr

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将整数S按照指定的进制输出为R R的数据类型为字符串 numpy.base_repr 下列代码最后一次输出的结果是? import numpy as np num 10 print("【显示】num:", …

考研408 | 【计算机组成原理】 数据的表示和运算

进位计数制 十进制计数法&#xff1a; 推广&#xff1a;r进制计数法 任意进制-->十进制&#xff1a; 二进制<-->八进制、十六进制&#xff1a; 各种进制的常见书写方式&#xff1a; 十进制-->任意进制&#xff1a; 十进制-->二进制&#xff08;拼凑法&#xff…

七个LLM的狼人杀之夜

深度学习自然语言处理 原创作者&#xff1a;Winnie 在最新一篇论文中&#xff0c;研究团队让一群大语言模型(LLM)开了一局狼人杀游戏。通过多种Prompt方法集成&#xff0c;LLM不仅成功地参与了游戏&#xff0c;还涌现出了信任、欺诈和领导力等团体能力。 Paper: Exploring Larg…

校园网web免认真,大量服务器

服务器加满了&#xff0c;没有几个人来&#xff0c;传点图片看实力 什么方法解web认证方式校园网&#xff1f; 一般的校园网是对学生免费开放的&#xff0c;假如你是学生输入学号密码上网就是了&#xff0c;假如你不是那就是想蹭网了&#xff0c;再假如你不想让管理员或上网行为…

idea部署javaSE项目(awt+swing项目)/idea导入eclipse的javaSE项目

一.idea打开项目 选择需要部署的项目 二、设置JDK 三、引入数据库驱动包 四、执行sql脚本 四、修改项目的数据库连接 找到数据库连接文件 五.其他系统实现 JavaSwing实现学生选课管理系统 JavaSwing实现学校教务管理系统 JavaSwingsqlserver学生成绩管理系统 JavaSwing用…

【mysql】1044 - Access denied for user ‘root‘@‘%‘ to database ‘test_job‘

登录mysql 为新建的库创建账号和授权 创建和授权命令 grant all on test_job.* to job% identified by 12345;flush privileges; 返回信息 grant all on test_job.* to job% identified by 12345 > 1044 - Access denied for user root% to database test_job > 查询…