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');
  }
};
相关推荐
GISer_Jing1 分钟前
AI全栈转型_TS后端学习路线
前端·人工智能·后端·学习
竹林8182 分钟前
被The Graph的GraphQL查询坑了三天,我用一个真实DeFi项目把链上数据索引彻底搞懂了
前端·graphql
漫游的渔夫2 分钟前
前端开发者做 Agent:别只会执行,用 4 类失败策略让 AI 知道怎么停
前端·人工智能·typescript
用户059540174465 分钟前
把多级缓存一致性验证从手工测试换成 Pytest 参数化,Bug 排查时间缩短 90%
前端·css
暗不需求6 分钟前
深入理解 LangChain:AI 应用开发框架的工程化实践
前端·langchain
Python私教7 分钟前
Pure-Admin-Thin 深度解析:完整版和精简版到底怎么选?
vue.js·人工智能·开源
用户0595401744627 分钟前
把 Redis 持久化测试从 800 行 Shell 换成 30 行 pytest,排错效率翻了 10 倍
前端·css
GISer_Jing32 分钟前
AI全栈工程师知识体系全景:从前后端核心架构到落地项目全拆解
前端·人工智能·后端·ai编程
Wect37 分钟前
深度剖析浏览器跨域问题
前端·面试·浏览器
陈随易1 小时前
bun将会支持Bun.image,你怎么看?
前端·后端·程序员