高效开发必备:手把手整合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 实现按需加载
相关推荐
coding随想2 小时前
JavaScript ES6 解构:优雅提取数据的艺术
前端·javascript·es6
年老体衰按不动键盘2 小时前
快速部署和启动Vue3项目
java·javascript·vue
小小小小宇2 小时前
一个小小的柯里化函数
前端
灵感__idea2 小时前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
小小小小宇2 小时前
前端双Token机制无感刷新
前端
小小小小宇2 小时前
重提React闭包陷阱
前端
小小小小宇3 小时前
前端XSS和CSRF以及CSP
前端
UFIT3 小时前
NoSQL之redis哨兵
java·前端·算法
超级土豆粉3 小时前
CSS3 的特性
前端·css·css3
星辰引路-Lefan3 小时前
深入理解React Hooks的原理与实践
前端·javascript·react.js