前端Vue入门-day08-vant组件库

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

[vant 组件库](#vant 组件库)

安装

导入

全部导入

按需导入

浏览器配饰

[Viewport 布局](#Viewport 布局)

[Rem 布局适配](#Rem 布局适配)


vant 组件库

目标:认识第三方 Vue组件库 vant-ui
组件库:第三方 封装 好了很多很多的 组件 ,整合到一起就是一个组件库。
https://vant-contrib.gitee.io/vant/v2/#/zh-CN/

安装

通过 npm 安装

在现有项目中使用 Vant 时,可以通过 npm 或 yarn 进行安装:

(这是官方给出的代码,如果安装失败,请根据我下面导入步骤重新安装)

复制代码
# Vue 3 项目,安装最新版 Vant:
npm i vant -S

# Vue 2 项目,安装 Vant 2:
npm i vant@latest-v2 -S

导入

全部导入

Vant 支持一次性导入所有组件,引入所有组件会增加代码包体积,因此不推荐这种做法。
① 安装 vant-ui

javascript 复制代码
yarn add vant@latest-v2

② main.js 中注册

javascript 复制代码
import Vant from 'vant'
import 'vant/lib/index.css'
// 把vant中所有的组件都导入了
Vue.use(Vant)

③ 使用测试

html 复制代码
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>


Tips: 配置按需引入后,将不允许直接导入所有组件。

按需导入

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

html 复制代码
yarn add vant@latest-v2

② 安装插件

官方代码:

html 复制代码
# 安装插件
npm i babel-plugin-import -D

我自己的代码:

复制代码
yarn add babel-plugin-import -D

③ babel.config.js 中配置

javascript 复制代码
// 在.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']
  ]
};

④ main.js 按需导入注册

javascript 复制代码
import Vue from 'vue';
import { Button } from 'vant';
Vue.use(Button);

⑤ 测试使用

html 复制代码
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>

⑥ 提取到 vant-ui.js 中,main.js 导入

javascript 复制代码
// 导入按需导入的配置文件
import '@/utils/vant-ui'

浏览器配饰

Viewport 布局

Vant 默认使用 px 作为样式单位,如果需要使用 viewport 单位 (vw, vh, vmin, vmax),推荐使用 postcss-px-to-viewport 进行转换。

postcss-px-to-viewport 是一款 PostCSS 插件,用于将 px 单位转化为 vw/vh 单位。

① 安装插件

javascript 复制代码
yarn add postcss-px-to-viewport@1.1.1 -D

② 根目录新建 postcss.config.js 文件,填入配置

javascript 复制代码
// postcss.config.js
module.exports = {
    plugins: {
     'postcss-px-to-viewport': {
        // 标准屏宽度
        viewportWidth: 375
      }
    }
}

Rem 布局适配

如果需要使用 rem 单位进行适配,推荐使用以下两个工具:

javascript 复制代码
// postcss.config.js
module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 37.5,
      propList: ['*'],
    },
  },
};
相关推荐
鬼手点金7 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
软件技术NINI7 小时前
美妆商城html+Css+js 4页
javascript·css·html
蛋蛋的就会顺顺的7 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday7 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室8 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
码艺-Alimjan8 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床8 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
死磕音视频9 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
子非鱼a10 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台10 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk