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

一、什么是SVG?
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用来定义用于网络的基于矢量的图形
SVG 使用 XML 格式定义图形
SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
SVG 是万维网联盟的标准
二,如何学习SVG
学会在网络上收集.svg图片,在项目中使用
在https://www.iconfont.cn/ 去下载你要用的svg,找到图标后,可以下载或者直接复制代码。
Vue新项目中如何使用SVG矢量图_第1张图片

新建.svg文件

在src/icons/svg下,建立一个名为qq.svg的文件(文件名是可以任意取的),并把上一步中复制的代码粘过来。
三,理解svg-icon的工作原理

  • svg-icon是一个全局组件,在src/icons/index.js中定义并注册成立全局组件。
  • 在main.js中引入了
  • 它额外需要[email protected]的配合,及对应的vue.config.js中的配置。
  • 它的使用格式 。这里的文件名就是在src/icons/svg下的文件名

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

1.安装依赖npm i [email protected]

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
  1. 在main.js中引入

    import '@/icons'
    

5.使用

使用格式 。这里的文件名就是在src/icons/svg下的文件名

你可能感兴趣的:(vue,项目,前端)