如何在`svgo`中解析带有不带引号的属性的svgs?

时间:2017-03-09 15:51:39

标签: svg webpack loader webpack-plugin

使用svgo进行解析或作为webpack加载器(svgo-loader)或插件(imagemin)的一部分进行解析时,两者都使用svgo,如果您的svgs具有不带引号的属性,例如:

xmlns="http://www.w3.org/2000/svg" width=20px height=20px

错误:Error in parsing SVG: Unquoted attribute value已发出。

可以在所有这些中使用带有不带引号属性的svg吗?

1 个答案:

答案 0 :(得分:0)

我已经在webpack中创建了一个用于封装xmls(包括svgs)的加载器:

xml-fix-loader

{
  test: /\.svg$/,
  use: [
    { loader: 'file-loader' },
    { loader: 'svgo-loader' },
    { loader: 'xml-fix-loader' }
  ]
}

它的作用一般是使用xml2js非严格地解析xml,然后将其字符串化以获得一个cononized xml(或svg)。

这会删除不带引号的属性等问题。这样:

xmlns="http://www.w3.org/2000/svg" width=20px height=20px

变为

xmlns="http://www.w3.org/2000/svg" width="20px" height="20px"