如何在一个新项目中使用svg

2022-07-26 08:35:57

为什么要使用svg而不直接使用字体图标?

SVG在既能满足现有图片的功能的前提下,又是矢量图,在可访问性上面也非常不错,并且有利于SEO和无障碍,在性能和维护性方面也比iconfont要出色许多

现在知道原因了吧,接下来,如何在新项目中使用它呢?

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)
}
module.exports = {
  publicPath: './',
  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.src下引入icons文件

4.componets/SvgIcon/index.vue 这个路径下引入utils/validate.js

5..icons文件在 main.js中导入 import '@/icons'

页面上使用的时候, <svg-icon icon-class="star"/>,这个文件名是指icons文件下的svg里面的.svg的文件名

  • 作者:前端~
  • 原文链接:https://blog.csdn.net/m0_59006402/article/details/118161633
    更新时间:2022-07-26 08:35:57