svg-icon的工作原理(超详细)

一,怎样使用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下的文件名

6.收集.svg图片,推荐网站

iconfont-阿里巴巴矢量图标库 去下载你要用的svg

svg-icon的工作原理(超详细)

 svg-icon的工作原理(超详细)

 svg-icon的工作原理(超详细)

二,Svg的工作原理

1.svg-icon是一个全局组件,在src/icons/index.js中定义并注册成立全局组件。

2.在main.js中引入了

3.它额外需要svg-sprite-loader@4.1.3的配合,及对应的vue.config.js中的配置。

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

上一篇:解决vue使用less全局变量


下一篇:vue.js3.2.20: 使用svg(svg-sprite-loader@6.0.9)