在Vue项目中如何使用SVG矢量图

2,253 阅读1分钟

前言

首先简单了解一下什么是SVG矢量图,然后再来讲解如何在一个新的Vue项目中使用它。


一、什么是SVG?

SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失

二、使用步骤

1.寻找SVG资源

学会在网络中收集.svg的图片,然后在项目中使用。 可以在https://www.iconfont.cn/下载喜欢的.svg图片。 可以直接下载或者复制代码。

2.新建 .svg文件

在src/icons/svg下,建立一个名为qq.svg的文件(文件名是可以任意取的),并把上一步中复制的代码粘过来。 在这里插入图片描述

3.使用图标

<svg-icon icon-class="qq" />

三、如何在新项目使用svg-icon组件 步骤

1.安装依赖npm i svg-sprite-loader@4.1.3

2.配置 vue.config.js

const path = require('path')
function resolve (dir) {
  return path.join(__dirname, dir)
}

补充一个配置{ }

{
  // 省略其他...
  chainWebpack (config) {
    // set svg-sprite-loader
    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]'
      })
      .end()
  }
}

3.复制/创建文件

(1) src/icons

src/icons
-       /svg       # 保存图标
-       /index.js  # 注册全局组件

(2) 组件

componets/SvgIcon/index.vue

(3)validate.js

utils/validate.js

4 . 在main.js中引入

  import '@/icons'

5.使用

使用格式<svg-icon icon-class="文件名"/> 。这里的文件名就是在src/icons/svg下的文件名


总结

技多不压身~