vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue3自动导入icon图标

vue3自动导入icon图标具体实现方法

作者:little__baii

在Vue中,icon通常指的是图标,用于在用户界面中展示图形符号,这篇文章主要介绍了vue3自动导入icon图标具体实现方法,文中通过代码介绍的非常详细,需要的朋友可以参考下

如何在Element Plus中正确使用El-Icons的自动导入功能

虽然Element Plus的El-Icons支持自动导入,但在实际引用时可能缺乏明确的示例。以下提供具体实现方法,确保图标能够正确加载并显示。

安装依赖

确保项目中已安装@element-plus/icons-vue及自动导入,通过以下命令安装:

npm install @element-plus/icons-vue
npm install -D unplugin-vue-components unplugin-auto-import
npm install unplugin-icons

配置自动导入

以Vite为例,在vite.config.js中添加以下内容:

export default defineConfig({
  plugins: [
    AutoImport({
      resolvers: [ElementPlusResolver()],
      // 自动导入图标组件(这里可以不用配置)
      // IconsResolver({
      //   prefix: 'Icon',
      // }),
    }),
    Components({
      resolvers: [ElementPlusResolver()],
      IconsResolver(
        // 这里不配置也可以自动导入图标
        // {
        //   prefix: 'i',  默认是 'i'
        //   enabledCollections: ['ep'],
        // }
        ),
    }),
  ],
});

贴一下源码

import path from 'path'
import { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import Inspect from 'vite-plugin-inspect'
import vueDevTools from 'vite-plugin-vue-devtools'
const pathSrc = path.resolve(__dirname, 'src')

export default defineConfig({
  resolve: {
    alias: {
      '@': pathSrc,
    },
  },
  plugins: [
    Vue(),
    vueDevTools(),
    AutoImport({
      // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
      imports: ['vue'],

      // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
      resolvers: [
        ElementPlusResolver(),

        // Auto import icon components
        // 自动导入图标组件(这里可以不用配置)
        // IconsResolver({
        //   prefix: 'Icon',
        // }),
      ],

      dts: path.resolve(pathSrc, 'auto-imports.d.ts'),
    }),

    Components({
      resolvers: [
        // Auto register icon components
        // 自动注册图标组件
        IconsResolver(
        // 这里不配置也可以自动导入图标
        //   {
        //   prefix: 'i',  默认是 'i'
        //   enabledCollections: ['ep'],
        // }
        ),
        // Auto register Element Plus components
        // 自动导入 Element Plus 组件
        ElementPlusResolver(),
      ],

      dts: path.resolve(pathSrc, 'components.d.ts'),
    }),

    Icons({
      autoInstall: true,
    }),

    Inspect(),
  ],
})

示例

tips: 自动导入icon图标的icon, 需要以{prefix}-{collection}-{icon}格式来使用。

默认前缀是i 可以在Components中的IconsResolver修改  element-plus 名称则是ep

<el-icon><i-ep-lock /></el-icon>

总结 

到此这篇关于vue3自动导入icon图标具体实现方法的文章就介绍到这了,更多相关vue3自动导入icon图标内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文