<img alt="logo" src="https://fastly.jsdelivr.net/npm/@vant/assets/logo.png" width="120" height="120" style="margin-bottom: 10px;">
Vant
A lightweight, customizable Vue UI library for mobile web apps.
<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" />
<img src="https://img.badgesize.io/https://unpkg.com/vant/lib/vant.min.js?compression=gzip&style=flat-square&label=gzip%20size&color=#4fc08d" alt="Gzip Size" />
π₯ ζζ‘£η½η«οΌε½ε οΌ Β π ζζ‘£η½η«οΌGitHubοΌ Β π¨π³ δΈζηδ»η»
Features
- π 1KB Component average size (min+gzip)
- π 80+ High quality components
- π Zero third-party dependencies
- πͺ 90%+ Unit test coverage
- πͺ Written in TypeScript
- π Extensive documentation and demos
- π Provide Sketch and Axure design resources
- π Support Vue 2 & Vue 3
- π Support Nuxt 2 & Nuxt 3, provide Vant Module for Nuxt
- π Support Tree Shaking
- π Support Custom Theme
- π Support Accessibility (still improving)
- π Support Dark Mode
- π Support SSR
- π Support i18n, built-in 30+ languages
Install
Usingnpm
to install:# install latest Vant for Vue 3 project
npm i vant
# install Vant 2 for Vue 2 project
npm i vant@latest-v2
Using
yarn
, pnpm
, or bun
:# with yarn
yarn add vant
# with pnpm
pnpm add vant
# with Bun
bun add vant
Scaffold
It is recommended to use Rsbuild to create a scaffold project.Rsbuild is a build tool based on Rspack, developed by the author of Vant, with first-class build speed and development experience, providing first-priority support for Vant.
You can create a Rsbuild project with the following command:
npm create rsbuild@latest
Please visit the Rsbuild repository for more information.
Quickstart
import { createApp } from 'vue';
// 1. Import the components you need
import { Button } from 'vant';
// 2. Import the components style
import 'vant/lib/index.css';
const app = createApp();
// 3. Register the components you need
app.use(Button);
See more in Quickstart.
Browser Support
Vant 2 supports modern browsers and Android >= 4.0γiOS >= 8.0.Vant 3/4 supports modern browsers and Chrome >= 51γiOS >= 10.0 (same as Vue 3).
Official Ecosystem
| Project | Description | | --- | --- | | vant-weapp | WeChat MiniProgram UI | | vant-demo | Collection of Vant demos | | vant-cli | Scaffold for UI library | | vant-icons | Vant icons | | vant-touch-emulator | Using vant in desktop browsers | | vant-nuxt | Vant module for Nuxt |Community Ecosystem
| Project | Description | | --- | --- | | 3lang3/react-vant | React mobile UI Components based on Vant | | vant-aliapp | Alipay MiniProgram UI | | taroify | Vant Taro | | vant-theme | Online theme preview built on Vant UI | | @antmjs/vantui | Mobile UI Components based on Vant, supporting Taro and React | | vant-playground | Vant Playground | | sfc-playground-vant | Vant Playground | | vue3-h5-template | Mobile project template based on Vant | | vue3-vant-mobile | Mobile project template based on Vant | | vscode-common-intellisense | A VS Code extension that provides better intellisense to Vant developers |Links
Preview
You can scan the following QR code to access the demoοΌCore Team
Core contributors of Vant and Vant Weapp:| | | | | | | | :-: | :-: | :-: | :-: | :-: | :-: | | chenjiahan | cookfront | wangnaiyi | pangxie | rex-zsd | nemo-shen |
| | | | | | | | :-: | :-: | :-: | :-: | :-: | :-: | | Lindysen | JakeLaoyu | landluck | wjw-gavin | inottn | zhousg |