# convertPath **Repository Path**: mirrors_singod/convertPath ## Basic Information - **Project Name**: convertPath - **Description**: A node lib to convert svg shape elements into path svg elements. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## convertPath [![npm](https://img.shields.io/badge/npm-convertpath-green.svg?style=flat-square)](https://www.npmjs.com/package/convertpath) A node lib to convert svg shape elements into path svg elements. ## Install ``` npm install convertpath ``` ## What it can do convertpath has a plugin-based architecture, so almost every optimization is a separate plugin. Today we have: | Plugin | Description | | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | [convertShapeToPath](https://github.com/pfan123/convertpath/blob/master/lib/filter/convertShapeToPath.js) | convert svg shape elements into path svg elements. | | [removeGroups](https://github.com/pfan123/convertpath/blob/master/lib/filter/removeGroups.js) | move some group and move some group attributes to the contained elements | | [viewBoxTransform](https://github.com/pfan123/convertpath/blob/master/lib/filter/viewBoxTransform.js) | remove width/height attributes and reset ViewBox | ## Usage ``` const SVGParser = require('convertpath') const parse = SVGParser.parse('./test/test.svg', { plugins: [ { convertShapeToPath: true, }, { removeGroups: true, }, { viewBoxTransform: true, // 必须放到最后 }, ], size: 1000, // default 1024 }) const result = parse.toSimpleSvg() console.log(result) const paths = parse.getPathAttributes() console.log(paths) /** * '' */ console.log(parse.toSimpleSvg()) /** * '' */ ``` ## API #### SVGParser.parse(filename) #### SVGParser.parseStr(svgString) #### SVGParser.parseNode(node) #### parse.toSimpleSvg() #### parse.getPathAttributes ## Special thanks - [SVGO](https://github.com/svg/svgo) - [fontello](https://github.com/fontello/svgpath) - [W3C SVG11](https://www.w3.org/TR/SVG11/) `注意:` - 1.svg 区分大小写, 如 `viewBox` 与 `viewbox`, `minify` 压缩会导致 `viewBox` 变成小写 - 2.`stroke-width` 属性指定了当前对象的轮廓的宽度。它的默认值是 1。如果使用了一个 ``,这个值代表当前视口的百分比。如果使用了 0 值,则将不绘制轮廓。`viewBox` 变更 `stroke-width` 也需要变更。