当前位置:首页 > VUE

vue vant实现的项目

2026-02-22 15:31:17VUE

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>

表单组件:

vue vant实现的项目

<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 文件:

vue vant实现的项目

@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 的移动端项目框架,并根据实际需求进行扩展和定制。

标签: 项目vue
分享给朋友:

相关文章

vue手写签名如何实现

vue手写签名如何实现

实现手写签名的基本思路 在Vue中实现手写签名功能,通常需要借助HTML5的Canvas API来捕获用户的绘制操作。核心流程包括初始化画布、监听触摸/鼠标事件、记录轨迹以及生成签名图片。…

vue实现autocomplete

vue实现autocomplete

Vue 实现 Autocomplete 功能 Vue 中实现 Autocomplete(自动完成)功能可以通过自定义组件或使用现有库完成。以下是几种常见方法: 方法一:使用 Vue 原生实现…

vue实现https

vue实现https

Vue 中实现 HTTPS 的步骤 在 Vue 项目中实现 HTTPS 主要涉及开发环境配置和生产环境部署。以下是具体方法: 开发环境配置(Vue CLI 或 Vite) 使用 mkcert…

vue 路由 实现

vue 路由 实现

Vue 路由实现方法 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是实现 Vue 路由的详细步骤: 安装 Vue Router 通过 npm 或 ya…

vue实现骰子

vue实现骰子

Vue 实现骰子功能 创建 Vue 组件 在 Vue 项目中创建一个骰子组件,例如 Dice.vue。该组件包含骰子的外观和逻辑。 <template> <div class=…

vue实现粘贴

vue实现粘贴

Vue 实现粘贴功能的方法 在 Vue 中实现粘贴功能通常涉及监听粘贴事件并处理剪贴板数据。以下是几种常见的实现方式: 监听原生粘贴事件 通过 @paste 指令或原生 addEventListe…