vant引入及配置
1. vant 官网
https://youzan.github.io/vant/#/zh-CN/quickstart
2. 通 npm 安装
npm i vant -S
3.安装 babel-plugin-import 插件
babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式npm i babel-plugin-import -D
4.在 babel.config.js 中配置
plugins: [
['import', {
libraryName: 'vant',
libraryDirectory: 'es',
style: true
}, 'vant']
]
5.接着你可以在代码中直接引入 Vant 组件
<template>
<div class="con">
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>
<van-button type="default">默认按钮</van-button>
<van-button type="warning">警告按钮</van-button>
<van-button type="danger">危险按钮</van-button>
</div>
</template> <script>
import { Button } from 'vant';
export default {
name:"Myindex",
components: {
[Button.name]: Button
},
data() {
return { }
}
}
</script> <style scoped>
.con{
text-align: center;
}
button{
display: block;
margin: 0 auto;
}
</style>
或者不在单个页面引用,在main.js全局引入
import Vue from 'vue'
import 'lib-flexible'
import App from './App.vue' import {
Cell,
CellGroup,
Icon,
NavBar,
Search,
List,
Toast,
Button,
Tab, Tabs,
Col,
Row,
Calendar,
Dialog,
DropdownMenu, DropdownItem
} from 'vant'; Vue.use(Cell);
Vue.use(CellGroup);
Vue.use(Icon);
Vue.use(NavBar);
Vue.use(Search);
Vue.use(List);
Vue.use(Toast);
Vue.use(Button);
Vue.use(Tab);
Vue.use(Tabs);
Vue.use(Col);
Vue.use(Row);
Vue.use(Calendar);
Vue.use(Dialog);
Vue.use(DropdownMenu);
Vue.use(DropdownItem); Vue.config.productionTip = false new Vue({
render: h => h(App),
}).$mount('#app')
6.rem 适配
Vant 中的样式默认使用px
作为单位,
postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem。
lib-flexible 用于设置rem基准值
(1) 安装postcss-pxtorem
npm install postcss-pxtorem --save-dev
(2)安装lib-flexible
npm install --save lib-flexible
(3)在main.js中引入lib-flexible
import 'lib-flexible';
(4)在postcss.config.js文件中进行配置
实际上,我完全找不到这个文件,新建一个(很香)
module.exports = {
plugins: {
autoprefixer: {
overrideBrowserslist: ['Android >= 4.0', 'iOS >= 7']
},
'postcss-pxtorem': {
rootValue: 37.5,
propList: ['*']
}
}
}
7.底部安全区适配
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 /> <!--例 -->
<template>
<van-tabbar :safe-area-inset-bottom="true">
<van-tabbar-item icon="home-o">首页</van-tabbar-item>
<van-tabbar-item icon="orders-o">文章</van-tabbar-item>
</van-tabbar>
</template>
vant引入及配置的更多相关文章
- 电商网站开发记录(三) Spring的引入,以及配置详解
1.web.xml配置注解<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=& ...
- maven-腾讯SDK(QQ)接口java引入pom配置
maven的pom.xml配置 <dependency> <groupId>net.gplatform</groupId> <artifactId>Sd ...
- spring.xml从外部文件引入数据库配置信息
<!-- 分散配置 --> <context:property-placeholder location="classpath:jdbc.properties" ...
- Spring中如何使用自定义注解搭配@Import引入内外部配置并完成某一功能的启用
文章背景 有一个封装 RocketMq 的 client 的需求,用来提供给各项目收.发消息,但是项目当中常常只使用收或者发消息的单一功能,而且不同的项目 group 等并不相同而且不会变化,可以在项 ...
- 项目引入非配置的文件,打成war包后测试报错的可能原因
写在前边 这阵子有点忙,开发一个微服务项目中读取配置文件的时候在本地测试是可以的,但是一到测试环境就报错,经查看发现是因为发布的时候是用的war包,使用java -jar xxx.war启动的,所以用 ...
- Vue项目使用vant框架
近期在开发h5端项目,用到vant框架,vant是一款基于Vue的移动UI组件,看了vant的官方文档(https://youzan.github.io/vant/#/zh-CN/)感觉不错,功能比较 ...
- vue3.0+vite+ts项目搭建--vite.config.ts配置(三)
vite.config.ts配置 配置路径处理模块 安装ts的类型声明文件 yarn add @types/node -D 通过配置alias来定义路径的别名 resolve: { alias: { ...
- webpack构建vue项目(配置篇)
最近公司要求用vue重构项目,还涉及到模块化开发,于是乎,我专门花了几天的时间研究了一下webpack这个目前来看比较热门的模块加载兼打包工具,发现上手并不是很容易,现将总结的一些有关配置的心得分享出 ...
- webpack + vuejs 基本配置(一)
开始之前 本文包含以下技术,文中尽量给与详细的描述,并且附上参考链接,读者可以深入学习: 1.webpack2.Vue.js3.npm4.nodejs —- 这个就不给连接了,因为上面的连接都是在你实 ...
随机推荐
- 发布iOS应用(xcode5)到App Store(苹果商店) 详细解析
发布iOS应用(xcode5)到App Store(苹果商店) 详细解析 作者:Memory 发布于:2014-8-8 10:44 Friday IOS 此教程可能不太适合,请移步至最新最全的:201 ...
- [BUUCTF]PWN——babyfengshui_33c3_2016
babyfengshui_33c3_2016 附件 步骤: 例行检查,32位程序,开启了cannary和nx 本地运行一下看看大概的情况,熟悉的堆的菜单布局 32位ida载入,看main函数 add ...
- GET与POST的比较
HTTP 方法:GET 对比 POST HTTP 消息 标签列表(字母排序) 两种最常用的 HTTP 方法是:GET 和 POST. 什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户 ...
- CF31A Worms Evolution 题解
Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),试找出一个三元组 \((i,j,k)\),使得 \(a_i=a_j+a_k\). 数据范围:\(3\l ...
- .NET 云原生架构师训练营(对象过程建模)--学习笔记
目录 UML OPM OPM优化 UML 1997年发布UML标准 主要域 视图 图 主要概念 结构 静态视图 类图 类.关联.泛化.依赖关系.实现.接口 用例视图 用例图 用例.参与者.关联.扩展. ...
- 报错:cannot access com.google.protobuf.GeneratedMessageV3
引入依赖 <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobu ...
- summernote富文本的简单使用
官方地址:https://summernote.org/ html代码 <div class="summernote" id="summernote" & ...
- 移动端点击a标签拨打电话、发送短信
拨打电话 <a href="tel:88888888">888888</a> 发送短信 <a href="sms:电话号码"> ...
- JAVA获取访问者IP地址
pom <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomc ...
- JS代码日期格式化
function dateConvert(format,value) { var date = new Date(value); var o = { "M+" : date.get ...