高效开发必备:手把手整合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 实现按需加载
相关推荐
Mores5 分钟前
开源 | ImageMinify:轻量级智能图片压缩工具,为你的项目瘦身加速
前端
CHQIUU6 分钟前
PDF.js 生态中如何处理“添加注释\添加批注”以及 annotations.contents 属性
开发语言·javascript·pdf
执梦起航7 分钟前
webpack理解与使用
前端·webpack·node.js
ai大师7 分钟前
Cursor怎么使用,3分钟上手Cursor:比ChatGPT更懂需求,用聊天的方式写代码,GPT4、Claude 3.5等先进LLM辅助编程
前端
Json_10 分钟前
使用vue2技术写了一个纯前端的静态网站商城-鲜花销售商城
前端·vue.js·html
1024熙10 分钟前
【Qt】——理解信号与槽,学会使用connect
前端·数据库·c++·qt5
少糖研究所12 分钟前
ColorThief库是如何实现图片取色的?
前端
冴羽12 分钟前
SvelteKit 最新中文文档教程(22)—— 最佳实践之无障碍与 SEO
前端·javascript·svelte
ZYLAB14 分钟前
我写了一个简易的 SEO 教程,希望能让新手朋友看完以后, SEO 能做到 80 分
前端·seo
小桥风满袖20 分钟前
Three.js-硬要自学系列4 (阵列立方体和相机适配、常见几何体、高光材质、lil-gui库)
前端·css