vue 手机端项目中使用Vant

vue

Vant是一款轻量级可靠的移动端组件库,本次主要介绍此框架的安装流程:

一:Vant (手机端前端框架)安装

npm i vant -S

二:main.js组件引入

导入所有组件:

import Vue from \'vue\';

import Vant from \'vant\';

import \'vant/lib/index.css\';

Vue.use(Vant);

三:自动按需引入

自动按需引入组件 

babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式

npm i babel-plugin-import -D

// 在.babelrc 中添加配置

// 注意:webpack 1 无需设置 libraryDirectory

{

"plugins": [

["import", {

"libraryName": "vant",

"libraryDirectory": "es",

"style": true

}]

]

}

// 对于使用 babel7 的用户,可以在 babel.config.js 中配置

module.exports = {

plugins: [

[\'import\', {

libraryName: \'vant\',

libraryDirectory: \'es\',

style: true

}, \'vant\']

]

};

// 接着你可以在代码中直接引入 Vant 组件

// 插件会自动将代码转化为方式二中的按需引入形式

import { Button } from \'vant\';

四:手动引入

手动引入vant:

//在不使用插件的情况下,可以手动引入需要的组件

import Button from \'vant/lib/button\';

import \'vant/lib/button/style\';

五:Rem 适配

//Vant 中的样式默认使用px作为单位,如果需要使用rem单位,推荐使用以下两个工具:

//postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem

//lib-flexible 用于设置 rem 基准值

//下面提供了一份基本的 postcss 配置,可以在此配置的基础上根据项目需求进行修改

module.exports = {

plugins: {

\'autoprefixer\': {

browsers: [\'Android >= 4.0\', \'iOS >= 7\']

},

\'postcss-pxtorem\': {

rootValue: 37.5,

propList: [\'*\']

}

}

}

//注意:在配置 postcss-loader 时,应避免 ignore node_modules 目录,这会导致 Vant 的样式无法被编译

六:底部安全区适配

<!-- iPhone X 等机型底部存在底部指示条,指示条的操作区域与页面底部存在重合,容易导致用户误操作,因此我们需要针对这些机型进行底部安全区适配。Vant 中部分组件提供了safe-area-inset-bottom属性,设置该属性后,即可在对应的机型上开启适配,如下示例: -->

<!-- 在 head 标签中添加 meta 标签,并设置 viewport-fit=cover 值 -->

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">

<!-- 开启 safe-area-inset-bottom 属性 -->

<van-number-keyboard safe-area-inset-bottom />

七:在桌面端使用 

Vant 组件默认只适配了移动端设备,如果你需要在桌面端使用 vant,可以引入我们提供的 @vant/touch-emulator.

//安装模块

npm i @vant/touch-emulator -S

// 引入模块后自动生效

import \'@vant/touch-emulator\';

致此,Vant的几种使用就这些了。

备注:Vant官网地址: https://youzan.github.io/vant/#/zh-CN/quickstart

以上是 vue 手机端项目中使用Vant 的全部内容, 来源链接: utcz.com/z/379473.html

回到顶部