• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

搭建/全套解决方案/部署vue3的后台管理系统-08-Icon 图标处理方案2内部图标

武飞扬头像
大国良民
帮助1

1 src 新建 icons 文件夹

2 资料文件中,直接复制svg的文件夹到icons

3 在 icons 下创建 index.js 文件,该文件中需要完成两件事情:

1.  导入所有的 `svg` 图标
2.  完成 `SvgIcon` 的全局注册

这样就不需要写这个了:import SvgIcon from '@/components/SvgIcon/index.vue'

导入后,还可以直接使用这些本地的svg

解决方案:

import SvgIcon from '@/components/SvgIcon'

// https://webpack.docschina.org/guides/dependency-management/#requirecontext
// 通过 require.context() 函数来创建自己的 context
const svgRequire = require.context('./svg', false, /\.svg$/)
// 此时返回一个 require 的函数,可以接受一个 request 的参数,用于 require 的导入。
// 该函数提供了三个属性,可以通过 require.keys() 获取到所有的 svg 图标
// 遍历图标,把图标作为 request 传入到 require 导入函数中,完成本地 svg 图标的导入
svgRequire.keys().forEach(svgIcon => svgRequire(svgIcon))

export default app => {
  app.component('svg-icon', SvgIcon)
}

main.js 中引入该文件

...
// 导入 svgIcon
import installIcons from '@/icons'
...
installIcons(app)
...

删除 views/login 下 局部导入 SvgIcon 的代码 注释不必要的import

login/index.vue 中使用 SvgIcon 引入本地 svg

换成这个:

// 用户名   
<svg-icon icon="user" />
// 密码
<svg-icon icon="password" />
// 眼睛
<svg-icon icon="eye" />

此时 处理内容 svg 图标的代码 已经完成

打开浏览器,我们发现 图标依然无法展示! 这又是因为什么原因呢?

来看下一节 《使用 svg-sprite-loader 处理 svg 图标》

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbakjb
系列文章
更多 icon
同类精品
更多 icon
继续加载