MCPcopy
hub / github.com/youzan/vant

github.com/youzan/vant @v4.10.0 sqlite

repository ↗ · DeepWiki ↗ · release v4.10.0 ↗
1,549 symbols 4,461 edges 771 files 19 documented · 1%
README
<img alt="logo" src="https://fastly.jsdelivr.net/npm/@vant/assets/logo.png" width="120" style="margin-bottom: 10px;">

Vant

轻量、可定制的移动端 Vue 组件库

<img src="https://img.shields.io/npm/v/vant?style=flat-square" alt="npm version" />
<img src="https://img.shields.io/codecov/c/github/youzan/vant/main.svg?style=flat-square&color=#4fc08d" alt="Coverage Status" />
<img src="https://img.shields.io/npm/dm/vant.svg?style=flat-square&color=#4fc08d" alt="downloads" />

🌈 文档网站(国内)   ·   文档网站(GitHub)


介绍

Vant 是一个轻量、可定制的移动端组件库,于 2017 年开源。

目前 Vant 官方提供了 Vue 2 版本Vue 3 版本微信小程序版本,并由社区团队维护 React 版本

特性

  • 🚀 性能极佳,组件平均体积小于 1KB(min+gzip)
  • 🚀 80+ 个高质量组件,覆盖移动端主流场景
  • 🚀 零外部依赖,不依赖三方 npm 包
  • 💪 使用 TypeScript 编写,提供完整的类型定义
  • 💪 单元测试覆盖率超过 90%,提供稳定性保障
  • 📖 提供丰富的中英文文档和组件示例
  • 📖 提供 Sketch 和 Axure 设计资源
  • 🍭 支持 Vue 2、Vue 3 和微信小程序
  • 🍭 支持 Nuxt 2、Nuxt 3,提供 Nuxt 的 Vant Module
  • 🍭 支持主题定制,内置 700+ 个主题变量
  • 🍭 支持按需引入和 Tree Shaking
  • 🍭 支持无障碍访问(持续改进中)
  • 🍭 支持深色模式
  • 🍭 支持服务器端渲染
  • 🌍 支持国际化,内置 30+ 种语言包

安装

在现有项目中使用 Vant 时,可以通过 npm 进行安装:

# Vue 3 项目,安装最新版 Vant
npm i vant

# Vue 2 项目,安装 Vant 2
npm i vant@latest-v2

当然,你也可以通过 yarnpnpmbun 进行安装:

# 通过 yarn 安装
yarn add vant

# 通过 pnpm 安装
pnpm add vant

# 通过 bun 安装
bun add vant

脚手架

推荐使用 Rsbuild 来创建一个脚手架项目。

Rsbuild 是基于 Rspack 的构建工具,由 Vant 作者开发,具备一流的构建速度和开发体验,对 Vant 提供第一优先级支持。

你可以通过以下命令创建一个 Rsbuild 项目:

npm create rsbuild@latest

请访问 Rsbuild 仓库 了解更多信息。

快速上手

import { createApp } from 'vue';
// 1. 引入你需要的组件
import { Button } from 'vant';
// 2. 引入组件样式
import 'vant/lib/index.css';

const app = createApp();

// 3. 注册你需要的组件
app.use(Button);

vant 也支持按需引入、CDN 引入等方式,详细说明见 快速上手.

浏览器支持

Vant 2 支持现代浏览器以及 Android >= 4.0、iOS >= 8.0。

Vant 3/4 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一致)。

官方生态

由 Vant 官方团队维护的项目如下:

项目 描述
vant-weapp Vant 微信小程序版
vant-demo Vant 官方示例合集
vant-cli 开箱即用的组件库搭建工具
vant-icons Vant 图标库
vant-touch-emulator 在桌面端使用 Vant 的辅助库
vant-nuxt 为 Nuxt 准备的模块

社区生态

由社区维护的项目如下,欢迎补充:

项目 描述
3lang3/react-vant 参照 Vant 打造的 React 框架移动端组件库
vant-theme Vant 在线主题预览工具
@antmjs/vantui 基于 Vant Weapp 开发的多端组件库,同时支持 Taro 和 React
Taroify Taroify 是 Vant 的 Taro 版本,两者基于相同的视觉规范,提供一致的 API 接口,助力开发者快速搭建小程序应用
vant-playground Vant Playground
sfc-playground-vant Vant Playground
vue3-h5-template 基于 Vant 的移动端项目模板
vue3-vant-mobile 基于 Vant 的移动端项目模板,开箱即用
vscode-common-intellisense VS Code 扩展,为 Vant 开发者提供更好的智能感知
nuxt-vant-mobile 基于 Vant 的 Nuxt 项目模板,开箱即用
mobvue 一个精心制作的移动端 H5 模板

链接

手机预览

可以手机扫码以下二维码访问手机端 demo:

核心团队

以下是 Vant 和 Vant Weapp 的核心贡献者们:

chenjiahan cookfront w91 pangxie1991 rex-zsd nemo-shen
chenjiahan cookfront wangnaiyi pangxie rex-zsd nemo-shen
Lindysen JakeLaoyu landluck wjw-gavin inottn zhousg
Lindysen JakeLaoyu landluck wjw-gavin inottn zhousg

贡献者们

感谢以下小伙伴们为 Vant 发展做出的贡献:

contributors

贡献指南

修改代码请阅读我们的 贡献指南

使用过程中发现任何问题都可以提 Issue 给我们,当然,我们也非常欢迎你给我们发 PR

在 Cloud IDE 中预览

https://idegithub.com/youzan/vant

开源协议

本项目基于 MIT 协议,请自由地享受和参与开源。

Extension points exported contracts — how you extend this code

ComponentCustomProperties (Interface)
(no doc)
packages/vant-compat/src/notify.ts
UseRafOptions (Interface)
(no doc)
packages/vant-use/src/useRaf/index.ts
VantResolverOptions (Interface)
(no doc)
packages/vant-auto-import-resolver/src/index.ts
TriggerDragOptions (Interface)
(no doc)
packages/vant/test/event.ts
ComponentCustomProperties (Interface)
(no doc)
packages/vant-compat/src/toast.ts
ComponentCustomProps (Interface)
(no doc)
packages/vant/src/vue-tsx-shim.d.ts
ComponentCustomProperties (Interface)
(no doc)
packages/vant-compat/src/dialog.ts
HTMLAttributes (Interface)
(no doc)
packages/vant/src/vue-tsx-shim.d.ts

Core symbols most depended-on inside this repo

later
called by 337
packages/vant/test/index.ts
snapshotDemo
called by 148
packages/vant/test/demo.ts
createNamespace
called by 113
packages/vant/src/utils/create.ts
withInstall
called by 100
packages/vant/src/utils/with-install.ts
makeStringProp
called by 99
packages/vant/src/utils/props.ts
trigger
called by 92
packages/vant/test/event.ts
triggerDrag
called by 82
packages/vant/test/event.ts
makeNumericProp
called by 75
packages/vant/src/utils/props.ts

Shape

Function 1,365
Interface 112
Method 52
Class 20

Languages

TypeScript100%

Modules by API surface

packages/vant/src/field/Field.tsx31 symbols
packages/vant/src/calendar/Calendar.tsx23 symbols
packages/vant-cli/src/common/index.ts22 symbols
packages/vant/src/lazyload/vue-lazyload/lazy.js21 symbols
packages/vant/src/tabs/Tabs.tsx18 symbols
packages/vant/src/swipe/Swipe.tsx18 symbols
packages/vant/src/uploader/Uploader.tsx17 symbols
packages/vant/src/slider/Slider.tsx17 symbols
packages/vant/src/calendar/utils.ts17 symbols
packages/vant/src/stepper/Stepper.tsx16 symbols
packages/vant/src/search/Search.tsx16 symbols
packages/vant/src/image-preview/ImagePreview.tsx16 symbols

Dependencies from manifests, versioned

@babel/core7.29.7 · 1×
@babel/preset-typescript7.29.7 · 1×
@popperjs/core2.11.8 · 1×
@rsbuild/core2.0.14 · 1×
@rsbuild/plugin-babel1.1.2 · 1×
@rsbuild/plugin-less1.6.4 · 1×
@rsbuild/plugin-sass1.5.3 · 1×
@rsbuild/plugin-vue1.2.9 · 1×
@rsbuild/plugin-vue-jsx2.0.1 · 1×
@rslib/core0.21.3 · 1×
@rslint/core0.5.3 · 1×
@rstest/core0.10.6 · 1×

For agents

$ claude mcp add vant \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact