高效开发必备:手把手整合IconFont、 Vant与Element Plus

引言

  • 痛点场景

    "你是否在开发中频繁切换移动端和 PC 端项目,为不同的 UI 库和图标管理头疼?本文教你一站式整合三大主流工具,提升开发效率。"

  • 价值点

    • 学会灵活管理海量图标资源(IconFont)
    • 掌握 Vant(移动端)和 Element Plus(PC 端)的快速上手
  • 工具选择原因

    • Vant 4:轻量级移动组件库,支持深色模式
    • Element Plus:企业级桌面端组件,功能全面
    • IconFont:阿里出品,图标资源丰富,支持动态更新

核心内容分步教程

1. IconFont 高效管理

步骤 1:项目配置流程

  1. 登录 iconfont.cn → 创建项目 → 添加图标
  2. 生成 Font class 格式链接

加入购物车之后点击右上角的购物车,在点击添加至项目,没有项目的就可以自己创建一个项目,然后会跳到这个页面,里面有好几种方式,我们选一直最简单的就是Font class模式,在点击生成在线代码,然后复制代码。当然你也可以用最简单的每个图标都下载,下载PNG格式,放到static文件夹里直接用也行。

然后将这段代码拿到项目里去,我们可以放到main.js文件里去import引入,但是没必要,因为放到main.js里的东西全都要拿去编译成原生js,然后作用到public文件下的index.html文件里的,所以我们直接将这css引入到目的地。

html 复制代码
<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <!--在这里引入-->
    <link rel="stylesheet" href="//at.alicdn.com/t/c/font_4852208_w3jd22vxhaq.css">
    
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

然后我们到想加图标的页面去,加图标的格式是下面这样的,标签内需要加iconfont前缀。

html 复制代码
<template>
  <div class="box">
    <i class="iconfont icon-jiantou2"></i>
    <i class="iconfont icon-jiantoudown"></i>
    <i class="iconfont icon-jiantoulift"></i>
    <i class="iconfont icon-jiantouup"></i>
  </div>
  
</template>

到此这种方法就算学会了。

2. Vant 4 快速集成

步骤 1:安装与按需加载

css 复制代码
npm install vant@latest
js 复制代码
// 使用 unplugin 自动按需导入(vite.config.js)
import Components from 'unplugin-vue-components/vite'
import { VantResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  plugins: [
    Components({
      resolvers: [VantResolver()],
    }),
  ],
})

步骤 2:实战组件示例

html 复制代码
<template>
  <van-button type="primary" @click="showToast">弹出提示</van-button>
</template>

<script setup>
import { showToast } from 'vant';
</script>

具体要引入的去网站找。

避坑提示

  • 使用 postcss-px-to-viewport 插件实现移动端自适应布局

3. Element Plus 深度配置

步骤 1:安装与主题定制

bash 复制代码
npm install element-plus @element-plus/icons-vue
javascript 复制代码
// 全局引入 + 国际化(main.js)
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import zhCn from 'element-plus/es/locale/lang/zh-cn'

app.use(ElementPlus, { locale: zhCn })

步骤 2:表格组件高级用法

html 复制代码
<template>
  <el-table :data="tableData">
    <el-table-column prop="date" label="日期" width="180" />
    <el-table-column prop="status" label="状态">
      <template #default="{ row }">
        <el-tag :type="row.status === 'success' ? 'success' : 'danger'">
          {{ row.status }}
        </el-tag>
      </template>
    </el-table-column>
  </el-table>
</template>

性能优化

  • 通过 unplugin-element-plus 实现按需加载
相关推荐
默_笙5 小时前
💫 闭包是个背包:拆解小米前端面试题里的三道"闭包陷阱"
前端·javascript·面试
天若有情6736 小时前
粒子星空背景单页HTML模板|炫酷动态星空特效网页(纯前端)
前端·html·css动画·网页特效·粒子星空·静态网页模版
工业涂料百问6 小时前
【趋势前沿】系列(三)工业涂料国产替代的三个台阶:航空、海工、电子的突破路径与认证壁垒
前端
前端snow6 小时前
ai agent --- agentic RAG
前端
gyratesky6 小时前
记录一种很新的大屏开发方式
前端·数据可视化
xy34537 小时前
Axure 9.0 中继器核心结构
前端·ui·html·axure·原型·产品设计
老王以为7 小时前
走进 AI Agent 第四篇(上):知识获取管道——RAG 基础
前端·人工智能·全栈
夏天要喝冰可乐7 小时前
一处写作,多平台分发:我给掘金做了一款开源 Chrome 插件
前端·chrome·vibecoding
货拉拉技术7 小时前
货拉拉开源Hadice:安卓 & 鸿蒙桌面调试工具
前端