千家信息网

基于Vue只能实现自定义组件引入图标

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇"基于Vue只能实现自定义组件引入图标"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这
千家信息网最后更新 2026年11月04日基于Vue只能实现自定义组件引入图标

这篇"基于Vue只能实现自定义组件引入图标"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"基于Vue只能实现自定义组件引入图标"文章吧。

搭建环境

这里通过@vue/cli 4.5.13新建项目,并且需要安装依赖svg-sprite-loader,用来处理对应的svg图标,方便我们使用。

安装: npm install --save-dev svg-sprite-loader

配置vue.config.js

在安装svg-sprite-loader后,新建vue.config.js来配置依赖:

// vue.config.jsconst { resolve } = require("path")module.exports = {  chainWebpack(config) {    config      .module      .rule("svg")      .exclude      .add(resolve("src/icons"))      .end()    config      .module      .rule("icons")      .test(/.svg$/)      .include      .add(resolve("src/icons"))      .end()      .use("svg-sprite-loader")      .loader("svg-sprite-loader")      .options({        symbolId: "icon-[name]"      })  }}

这里通过chainWebpack来做了两项配置:

  • 第一个是让原来的其他处理svg的依赖不处理src/icons下我们的自定义图标文件

  • 通过svg-sprite-loader来处理自定义的图标文件,options里面的设置表示,生成的svg的symbolId为icon和文件名的拼接。

新建图标组件

在components目录下新建一个SvgIcon.vue文件:

然后,新建一个icons目录,并且新建一个index文件,用来挂在组件和引入svg图标:

// index.tsimport SvgIcon from "@/components/SvgIcon.vue"import { App } from "vue"export default (app: App) => {  app.component("svg-icon", SvgIcon)}const ctx = require.context("./svg", false, /.svg$/)const requestAll = (ctx: __WebpackModuleApi.RequireContext) => ctx.keys().forEach(ctx)requestAll(ctx)
// main.tsimport { createApp } from "vue"import App from "./App.vue"import installSvgIcon from "@/icons/index"const app = createApp(App)installSvgIcon(app)app.mount("#app")

这个文件做了两件事:

  1. 通过导出一个方法来挂载全局组件svg-icon;

  2. 通过require.context来实现自动化引入svg目录下的图标文件。

使用组件

首先,我们要在icons/svg目录下存放svg图标文件(在iconfont上找自己需要的);

然后,就可以在其他地方使用啦:

直接通过组件svg-icon的方式引入,然后传入icon-name即可,icon-name的值由icon拼接svg文件名组成。

以上就是关于"基于Vue只能实现自定义组件引入图标"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

图标 文件 组件 内容 目录 处理 配置 文件名 文章 知识 篇文章 价值 全局 地方 大部分 就是 方式 方法 更多 步骤 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东猪兼强互联网科技有限公司 江苏根荣互联网科技 互联网科技深圳 互联网科技垄断 互联网科技的 互联网金融 金融科技 华宇互联网科技 一五八零互联网科技 天扬科技互联网广告 互联网科技有限公司 翻译 互联网科技大会案例 济南华为互联网科技产业总部基地 科技与互联网哪个更好 互联网金融科技公司干啥的 浙江互联网科技研学营 武汉健翔互联网络科技有限公司 语蝶互联网科技有限公司 群盈汇互联网科技有限公司 兰石爱特工业互联网科技分公司 互联网科技大佬云集 广东万易互联网科技有限公司惠州分公司 山东特亿宝互联网科技有限公司 汇久创客互联网科技 互联网金融 科技创新 南通创西澳互联网科技有限公司 互联网企业科技类企业如何做账 互联网科技股为什么大涨 工业互联网科技创业 互联网科技收购价值 深圳互联网科技园地址
0