高效开发必备:手把手整合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 实现按需加载
相关推荐
学渣y14 分钟前
React状态管理-对state进行保留和重置
javascript·react.js·ecmascript
_龙衣34 分钟前
将 swagger 接口导入 apifox 查看及调试
前端·javascript·css·vue.js·css3
进取星辰1 小时前
25、Tailwind:魔法速记术——React 19 样式新思路
前端·react.js·前端框架
struggle20252 小时前
continue通过我们的开源 IDE 扩展和模型、规则、提示、文档和其他构建块中心,创建、共享和使用自定义 AI 代码助手
javascript·ide·python·typescript·开源
x-cmd2 小时前
[250512] Node.js 24 发布:ClangCL 构建,升级 V8 引擎、集成 npm 11
前端·javascript·windows·npm·node.js
夏之小星星2 小时前
el-tree结合checkbox实现数据回显
前端·javascript·vue.js
crazyme_63 小时前
前端自学入门:HTML 基础详解与学习路线指引
前端·学习·html
撸猫7913 小时前
HttpSession 的运行原理
前端·后端·cookie·httpsession
亦世凡华、3 小时前
Rollup入门与进阶:为现代Web应用构建超小的打包文件
前端·经验分享·rollup·配置项目·前端分享
Bl_a_ck3 小时前
【React】Craco 简介
开发语言·前端·react.js·typescript·前端框架