了解svg-icon的使用流程

137 阅读1分钟

1、安装依赖:npm i svg-sprite-loader

image.png

2、在vue.config.js中进行配置

使用svg-sprite-loader作用是合并一组单个的svg图片为一个sprite雪碧图,并把合成好的内容,inject插入到html内,形式是添加svg标签,我们通过xlink:href来实现对某一个图标的引用,使用雪碧图可以减少请求,只需请求一张图片。

xlink:href的值是一个id,可以通过设置loader的options中的symbolId来配置
这里配置的是symbolId: 'icon-[name]',如果文件名是test.svg,xlink:href的值则是#icon-test

image.png

3、将从iconfont下载的.svg的文件放置在静态文件夹中

image.png

4、写SvgIcon.vue组件

image.png

5、在utils/init.js中引入该组件并进行svg配置

上述只是封装了一个Icon组件,但是只有使用了某个图标,svg-sprite-loader才会帮助我们做处理,因此我们需要在main.ts或者其他的某个地方引入需要用到的图标,引入所有的图标可以通过使用webpack 提供的 require.context API 引入某个目录下的所有的svg图标。

image.png

6、在main.js中引入

image.png

7、最后在各个组件中使用即可

image.png