当前位置:   article > 正文

vant UI 使用,按需引入

vant ui

vant-uI官方文档

1.安装

  1. npm i vite-plugin-style-import@1.4.1 -D //npm安装
  2. yarn add vite-plugin-style-import@1.4.1 -D //yarn 安装

2. 配置插件

  1. //在 vite.config.js 文件中配置插件:
  2. import vue from '@vitejs/plugin-vue';
  3. import styleImport, { VantResolve } from 'vite-plugin-style-import';
  4. export default {
  5. plugins: [
  6. vue(),
  7. styleImport({
  8. resolves: [VantResolve()],
  9. }),
  10. ],
  11. };

在非 vite 项目中

  1. //babel.config.js 文件中配置如下代码:
  2. {
  3. "plugins": [
  4. [
  5. "import",
  6. {
  7. "libraryName": "vant",
  8. "libraryDirectory": "es",
  9. "style": true
  10. }
  11. ]
  12. ]
  13. }

3.引入

        全局引入

  1. main.js:import Vant from 'vant'
  2. import 'vant/lib/vant-css/index.css'
  3. Vue.use(Vant)

        按需引入

项目中可能用到多个vant组件,因此单独创建vant.js文件,在src下plugin(文件夹)中创建,代码如下:

  1. import Vue from 'vue'
  2. //可引入多个需要组件,此处只引入Button做例,有多个写在...处
  3. import {
  4. Button,...
  5. } from 'vant'
  6. export default function vant(){
  7. //此处只use Button做例,有多个写在...处
  8. Vue.use(Button);
  9. ...
  10. }

在main.js中,配置如下:

  1. import Vant from '@/common/vant'
  2. Vant()

        按需引入还可以(推荐):

  1. //安装
  2. npm i babel-plugin-import -D(简写)
  3. npm install babel-plugin-import --save-dev(完整写法)

然后,在.babelrc文件中

  1. "plugins": [
  2. "transform-vue-jsx",
  3. "transform-runtime",
  4. <!--这个是添加的-->
  5. ["import",{"libraryName":"vant","style":true}]
  6. ]

最后,在main.js中

  1. import {Button} from 'vant'
  2. Vue.use(Button)
  3. // 引入的多的话
  4. import { Button, Row, Col } from 'vant'
  5. Vue.use(Button).use(Row).use(Col)

4.自定义样式类来覆盖默认样式

  1. <template>
  2. <van-button class="my-button">按钮</van-button>
  3. </template>
  4. <style>
  5. /** 覆盖 Button 最外层元素的样式 */
  6. .my-button {
  7. width: 200px;
  8. }
  9. /** 覆盖 Button 内部子元素的样式 */
  10. .my-button .van-button__text {
  11. color: red;
  12. }
  13. </style>

5.使用

        请看官方文档

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/111220
推荐阅读
相关标签
  

闽ICP备14008679号