【vant组件安装】按需引入 && 完整引入 && 定制主题

1. vant组件安装—按需引入

  • 1.安装vant组件库

    • npm i vant@latest-v2
      
  • 2.安装按需引入组件

    • npm i babel-plugin-import -D
      
  • 3.在babel.config.js中配置

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  plugins: [
    ['import', {
      libraryName: 'vant',
      libraryDirectory: 'es',
      style: true
    }, 'vant']
  ]
}
  • 4.导入你需要使用的组件(新建一个 utils/vant.js文件 )
// 导入vue
import Vue from 'vue'

// 引入组件
import { Button, Icon } from 'vant'

// 使用组件
Vue.use(Button)
Vue.use(Icon)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pbh6Tl9O-1672064606843)(E:/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/9.vue%E5%9F%BA%E7%A1%80/87%E6%9C%9Fvue%E5%9F%BA%E7%A1%80/01-vue%E5%9F%BA%E7%A1%80%E7%AC%94%E8%AE%B0/day07-%E9%BB%91%E9%A9%AC%E9%9D%A2%E7%BB%8FH5%E7%AB%AF%EF%BC%88%E4%B8%8A%EF%BC%89.assets/1667572246784.png)]

  • 5.在main.js中导入你封装的vant.js

    • import Vue from 'vue'
      import App from './App.vue'
      import router from './router'
      
      // 导入vant组件
      import '@/utils/vant.js'
      
      // 导入amfe-flexible
      import 'amfe-flexible'
      
      Vue.config.productionTip = false
      
      new Vue({
        router,
        render: h => h(App)
      }).$mount('#app')
      
      
  • 6.重新运行项目(配置文件发生变化之后需要重新运行项目才会生效)

    • npm run serve
      
    • 把vant里面的按钮组件CV到你的App.vue观察是否配置成功

<template>
  <div>
    <h1>我是根组件</h1>
    <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>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rYJtWE1c-1672064606844)(E:/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/9.vue%E5%9F%BA%E7%A1%80/87%E6%9C%9Fvue%E5%9F%BA%E7%A1%80/01-vue%E5%9F%BA%E7%A1%80%E7%AC%94%E8%AE%B0/day07-%E9%BB%91%E9%A9%AC%E9%9D%A2%E7%BB%8FH5%E7%AB%AF%EF%BC%88%E4%B8%8A%EF%BC%89.assets/1667574170312.png)]

按需引入时需要定制主题的使用方法:

  • 1. 在babel.config.js文件中配置
module.exports = {
  plugins: [
    [
      'import',
      {
        libraryName: 'vant',
        libraryDirectory: 'es',
        // 指定样式路径
        style: (name) => `${name}/style/less`,
      },
      'vant',
    ],
  ],
};
  • 2. 在vue.config.js中配置
// vue.config.js
module.exports = {
  css: {
    loaderOptions: {
      less: {
        // 若 less-loader 版本小于 6.0,请移除 lessOptions 这一级,直接配置选项。
        lessOptions: {
          modifyVars: {
            // 直接覆盖变量,定制主题
            'text-color': '#111',
            'border-color': '#eee',
          },
        },
      },
    },
  },
};

2. vant组件安装—完整引入

在开发项目时直接使用完整引入方式,在项目打包时再去做调整。

  1. 安装vant组件库

npm i vant@latest-v2

  1. 引入

在src/main.js 中,以vue插件的方式完整引入vant组件

import Vue from 'vue'
import Vant from 'vant' // 组件库
import 'vant/lib/index.css' // 样式

Vue.use(Vant) // 引入
  1. 使用

在app.vue中(其他任意组件也行), 测试使用。

<van-button type="default">默认按钮</van-button>
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>
<van-button type="warning">警告按钮</van-button>
<van-button type="danger">危险按钮</van-button>

van-button就是vant组件库中提供的按钮组件。

效果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6woKGIvY-1672064606844)(E:/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/9.vue%E5%9F%BA%E7%A1%80/class/%E9%A1%B9%E7%9B%AE-%E9%BB%91%E9%A9%AC%E5%A4%B4%E6%9D%A1/T-%E5%A4%B4%E6%9D%A1%E9%A1%B9%E7%9B%AE%E9%A1%B9%E7%9B%AE%E6%96%87%E6%A1%A3/vue-hmtt/01%E8%AE%B2%E4%B9%89/asset/image-20210603235531109.png)]

完整引入组件时需要定制主题的使用方法:

  • 1. main.js引入样式(二选一)
// 引入全部样式
import 'vant/lib/index.less';

// 引入单个组件样式
import 'vant/lib/button/style/less';
  • 2. 在vue.config.js中配置
module.exports = {
  css: {
    loaderOptions: {
      less: {
        // 若 less-loader 版本小于 6.0,请移除 lessOptions 这一级,直接配置选项。
        lessOptions: {
          modifyVars: {
            // 直接覆盖变量,定制主题
            'text-color': '#111',
            'border-color': '#eee',
			
          },
        },
      },
    },
  },
};
  • 遇到报错【Can’t resolve ‘less-loader’】需要下载less less-loader
npm i less less-loader

自定义主题其实指的是每个组件都可以自定义样式,找到最底下的样式变量
名称就是你要修改的属性名 你要改成什么就可以给它属性值
例如: ‘cell-line-height’ : 50px 你就把cell组件的行高自定义为50px了
在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个大萝北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值