vue vant实现的项目
vue vant实现的项目
Vant 是一个基于 Vue.js 的轻量级移动端组件库,适合快速开发移动端应用。以下是一个使用 Vue 和 Vant 实现项目的典型流程和关键点。
项目初始化
使用 Vue CLI 创建一个新项目:
vue create my-vant-project
cd my-vant-project
安装 Vant:
npm install vant --save
引入 Vant
全局引入(适合快速开发):
import Vue from 'vue';
import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant);
按需引入(推荐,减小打包体积):
npm install babel-plugin-import --save-dev
在 babel.config.js 中配置:
module.exports = {
plugins: [
['import', {
libraryName: 'vant',
libraryDirectory: 'es',
style: true
}, 'vant']
]
};
按需引入组件示例:
import { Button, Cell } from 'vant';
Vue.use(Button).use(Cell);
基础项目结构
典型目录结构:
src/
├── assets/ # 静态资源
├── components/ # 公共组件
├── views/ # 页面组件
├── router/ # 路由配置
├── store/ # Vuex 状态管理
├── App.vue # 根组件
└── main.js # 入口文件
常用 Vant 组件示例
按钮组件:
<van-button type="primary">主要按钮</van-button>
表单组件:

<van-field v-model="username" label="用户名" placeholder="请输入用户名" />
列表组件:
<van-list
v-model="loading"
:finished="finished"
@load="onLoad"
>
<van-cell v-for="item in list" :key="item" :title="item" />
</van-list>
移动端适配
安装 postcss-pxtorem 插件:
npm install postcss-pxtorem --save-dev
在 postcss.config.js 中配置:
module.exports = {
plugins: {
'postcss-pxtorem': {
rootValue: 37.5,
propList: ['*'],
},
},
};
在 main.js 中引入动态设置 rem 的代码:
function setRem() {
const docEl = document.documentElement;
const width = docEl.clientWidth;
docEl.style.fontSize = width / 10 + 'px';
}
window.addEventListener('resize', setRem);
setRem();
主题定制
创建 vant.less 文件:

@import '~vant/lib/index.less';
// 覆盖变量
@blue: #1989fa;
在 vue.config.js 中配置:
module.exports = {
css: {
loaderOptions: {
less: {
modifyVars: {
hack: `true; @import "${path.join(__dirname, './src/vant.less')}";`,
},
},
},
},
};
项目部署
构建生产环境代码:
npm run build
部署到服务器或静态网站托管服务。
注意事项
-
移动端开发需要关注 viewport 设置,在
public/index.html中添加:<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> -
使用 Vant 的 Toast、Dialog 等轻提示组件时,需要单独引入:
import { Toast } from 'vant'; Toast('提示内容'); -
路由管理建议使用 vue-router,与 Vant 的导航组件配合使用。
通过以上步骤,可以快速搭建一个基于 Vue 和 Vant 的移动端项目框架,并根据实际需求进行扩展和定制。






