Vue3.0+Vant ui配置按需引入(非vue-cli3.0)

简介: 笔记

1.jpg


1. 说在前面


1.1 这是一件令我比较无语的事情


最近使用 Vue3.0 + vant开发项目,官网上的配置,按需引入其实不太好理解

于是想着“面向百度编程”,百度下看看,结果网上有很多人连Vue3.0和vue-cli3.0都分不清楚,找了半天都是vue-cli3.0的(有同感的可以评论区扣个1)我人都傻了,于是自己摸索了一个正确的操作方式

1.2 Vant ui简介


Vant 适用于移动端

Vant 是有赞前端团队开源的移动端组件库,十大受欢迎组件库之一,用户量挺大的,10w+(所以生态还是不错的)

目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。


2. Vant ui安装



2.1 npm安装

# Vue 2 项目,安装 Vant 2
npm i vant@2
# Vue 3 项目,安装 Vant 3
npm i vant@3

2.2 其它安装方式

# 通过 yarn 安装
yarn add vant@3
# 通过 pnpm 安装
pnpm add vant@3


3. 配置按需引入



3.1 webpack依赖

  • 通过 babel 插件按需引入组件(与element ui 同)
# 安装插件
npm i babel-plugin-import -D
  • 在.babelrc 或 babel.config.js 中添加配置(项目中没有的话自己建立一个)
module.exports = {
  "plugins": [
    [
      "import",
      {
        "libraryName": "vant",
        "libraryDirectory": "es",
        "style": true
      }
    ]
  ]
}

3.2 Vite构建的项目

  • 在 Vite 项目中按需引入组件
# 安装插件
npm i vite-plugin-style-import -D
  • vite.config.js文件配置
import vue from '@vitejs/plugin-vue';
import styleImport from 'vite-plugin-style-import';
export default {
  plugins: [
    vue(),
    styleImport({
      libs: [
        {
          libraryName: 'vant',
          esModule: true,
          resolveStyle: (name) => `vant/es/${name}/style`,
        },
      ],
    }),
  ],
};


4. 配置main.js(官网上说的估计小白看不懂)



  • 与Vue2.x 的通过Vue.use(某组件)不同
  • Vue3.0的组件注册需要通过 createApp(App)
  • 这里配置了按需引入,注释也写了,很明朗(如下:)
import { createApp } from 'vue'
import App from './App.vue'
// 需要啥组件就引进来
import { Button, Rate } from 'vant'
let app = createApp(App)
// 这里与Vue2中的Vue.use()不同
app.use(Button)
app.use(Rate)
app.mount('#app')

5. 页面中使用按需引入的组件



  • 这里和element ui一样的,以我刚注册的两个组件使用为例:
<template>
  <div class="hello">
    <van-button type="primary">主要按钮</van-button>
    <van-rate v-model="value" />
  </div>
</template>

效果图如下,搞定:

2.png

目录
相关文章
|
29天前
|
JavaScript
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
101 49
|
2天前
|
JavaScript
【一】搭建基础框架并配置UI组件库
其实这个从零有点歧义,因为本质上是要基于`tdesign-vue-next`来进行二次封装为一套广告UI组件库,现在让我们在一起快乐的搭建自己的广告UI库之前,先对以下内容做出共识:
13 0
【一】搭建基础框架并配置UI组件库
|
1月前
|
JavaScript
在Vue中使用Avue、配置过程以及实际应用
这篇文章介绍了作者在Vue项目中使用Avue组件库的体验,包括安装配置过程和实际应用示例,展示了如何通过Avue实现动态增加输入框和输入验证的功能。
在Vue中使用Avue、配置过程以及实际应用
|
1月前
|
JavaScript
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
这篇文章介绍了如何在Vue 2或Vue 3项目中实现一个自定义的全局指令`v-dragSwitch`,用于创建可以任意方向拖拽并悬浮的元素,同时包含边界处理的逻辑。
154 2
基于Vue2或Vue3实现任意上下左右拖拽悬浮的元素,且配置为自定义的全局指令
|
22天前
|
JavaScript 前端开发 安全
[译] 在 Vue 组件中分离 UI 和业务逻辑。
[译] 在 Vue 组件中分离 UI 和业务逻辑。
|
1月前
|
JavaScript 开发工具 git
Vue学习之--------脚手架的分析、Ref属性、Props配置(2022/7/28)
这篇文章分析了Vue脚手架的结构,并详细讲解了`ref`属性和`Props`配置的基础知识、代码实现和测试效果,展示了如何在Vue组件中使用`ref`获取DOM元素或组件实例,以及如何通过`Props`传递和接收外部数据。
Vue学习之--------脚手架的分析、Ref属性、Props配置(2022/7/28)
|
1月前
|
存储 JavaScript 安全
Vue 3 环境变量配置
Vue 3 环境变量配置
|
1月前
|
JavaScript
|
21天前
|
JavaScript 开发者 UED
Vue.js组件库大对决:Element UI与Vuetify,开发者的罗密欧与朱丽叶!
【8月更文挑战第30天】Element UI和Vuetify是Vue.js开发中的热门组件库,前者简洁高效,后者遵循Material Design,国际化程度高。两者均提供丰富的组件支持,但Vuetify组件更多样,设计更灵活;Element UI在性能和中文支持上更优。文档方面,Element UI更直观易懂,而Vuetify配置灵活但学习成本稍高。选择时需综合考虑项目需求、团队背景及设计风格,以达到最佳开发效果。
65 0
|
1月前
如何在 Vue3 项目配置全局方法
本文介绍了在Vue3项目中配置全局方法的几种方式,包括如何将Moment.js日期处理类库和字符串颜色值生成方法设置为全局可访问的属性。
34 0