首页 > 解决方案 > 如何在@svgr webpack的svgoConfig中禁用自动前缀类名?

问题描述

@svgr/webpack ( https://react-svgr.com/docs/webpack/ ) 正在更改 svg 中类的名称,通过为它们添加前缀,例如 classcircle更改为spinner-svg__circle.

我已经尝试了以下两个选项来禁用该行为,但它们都不起作用:

  1. 来源:https ://github.com/gregberge/svgr/issues/411和https://github.com/gregberge/svgr/pull/412/files

         {
           test: /\.svg$/,
           use: [
             {
               loader: '@svgr/webpack',
               options: {
                 svgoConfig: {
                   plugins: [{ prefixIds: false }]
                 }
               }
             },'url-loader'
           ]
         }
    
  2. 我在这里找到的以下一个:从 svgr/webpack 将选项传递给内置 svgo

            svgoConfig: {
               plugins: [
                 {
                   prefixIds: {
                     prefixIds: false,
                     prefixClassNames: false
                   }
    
                 }
               ]
             }
    
  3. 来源:https ://github.com/gregberge/svgr/issues/400

             svgoConfig: {
               plugins: [
                 {
                   prefixIds: {
                     prefix: false
                   }
                 }
               ]
             }
    

有没有其他方法可以解决它?

标签: reactjssvgwebpack

解决方案


所以 2) 选项有效 - 我无法让它工作,因为故事书有一个单独的 webpack 配置文件(我在其中测试效果),我没有在那里应用更改,而是将它们应用到主 webpack 配置文件该项目。


推荐阅读