Imagein svgo 删除路径

Imagemin svgo delete path

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs></defs>
    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="icons" transform="translate(-368.000000, -426.000000)">
            <g id="attention-blue" transform="translate(368.000000, 426.000000)">
                <circle id="Oval-13" fill="#34C6D9" cx="10" cy="10" r="10"></circle>
                <path d="M10,10.8 L10,5.6" id="Line" stroke="#FFFFFF" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
                <path d="M10,14.8 L10,14.8" id="Line2" stroke="#FFFFFF" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
            </g>
        </g>
    </g>
</svg>

我有带有两个 "path" 标签的 SVG 图标。使用 imagemin.svgo imagemin 构建后删除其中一个 "path",我的图标看起来很糟糕。我怎样才能解决这个问题?

gimagemin.svgo({
    plugins: [
      {minifyStyles: false},
      { removeViewBox: false },
      { removeUselessStrokeAndFill: false },
      { cleanupIDs: false }
        ]
  })

这是我的选择。

实际上,SVGO 并没有删除第二条路径,而是将其合并到第一条路径中(由默认启用的“mergePath”插件完成)。 但是,由于第二条路径的长度为零,SVGO 删除了“lineto”(“L10,14.8”)命令(“convertPathData”插件执行此操作),因此它减少为无用“ moveto” (M10 14.8) 命令。

我建议不要画这种风格的图片。您可以使用另一个 <circle>,或在 arc curves.

的路径中画一个圆圈

当然,您可以禁用此特定图像的“convertPathData”插件,但我不建议将其作为通用解决方案,因为它是基本优化插件之一。