vue3 + ant design vue项目svg格式的background-image使用配置

直接使用的时候会报错:

  1. 图片解析不出来还是svg源文件代码
  2. 项目启动报错

  3. vue3使用的时候普通配置会出现this.getOptions is not function错误( Webpack 版本升级引起的,在较新的 Webpack 版本中,this.getOptions 方法已被移除。)

以上错误解决及配置方法:

  1. 安装npm install svg-sprite-loader svgo-loader --save-dev,(svg-sprite-loader 解析 SVG 文件,将其打包为 SVG Sprite,使其显示实际svg图;svgo-loader 对 SVG 文件进行优化,帮助在构建过程中自动优化 SVG 文件,减小文件大小并提高加载性能。)
  2. vue.config.js配置插件(vue3)
javascript 复制代码
const path = require('path');

module.exports = {
  chainWebpack: (config) => {
    // 添加对 SVG 文件的处理规则
    config.module
      .rule('svg')
      .exclude.add(path.resolve(__dirname, 'src/icons')) // 排除 SVG Sprite 文件的目录路径
      .end();

    // 添加对 SVG Sprite 文件的处理规则
    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(path.resolve(__dirname, 'src/icons')) // SVG Sprite 文件的目录路径
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      // 获取到 `loader.options` 并进行修改,解决 `this.getOptions is not function` 的错误
      .tap((options) => {
        options = {
          ...options,
          symbolId: 'icon-[name]'
        };
        return options;
      })
      .end()
      .use('svgo-loader')
      .loader('svgo-loader');
  }
};
相关推荐
m0_7482361125 分钟前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
Watermelo61737 分钟前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
m0_7482489439 分钟前
HTML5系列(11)-- Web 无障碍开发指南
前端·html·html5
m0_748235611 小时前
从零开始学前端之HTML(三)
前端·html
希忘auto2 小时前
详解Redis的常用命令
redis·1024程序员节
一个处女座的程序猿O(∩_∩)O3 小时前
小型 Vue 项目,该不该用 Pinia 、Vuex呢?
前端·javascript·vue.js
hackeroink6 小时前
【2024版】最新推荐好用的XSS漏洞扫描利用工具_xss扫描工具
前端·xss
迷雾漫步者7 小时前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-8 小时前
验证码机制
前端·后端
燃先生._.9 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js