# 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 [](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` 也需要变更。