SVGO: Node.js 开发的 SVG 矢量图优化工具(svg压缩工具)
2024-09-01 09:03:08
SVG图片压缩
这是个通过借助npm包的一种方式去压缩svg的图片,由于阿里的图库自己创建的图标有大小的限制,当我们想要自己用自己的图标的时候就可以使用这种方式去完成对svg的图片压缩。
1、下载node.js (地址:https://nodejs.org/zh-cn/)
即前提,必须本地部署好npm,否则就跑不起来。
2、下载svgo的包
下载node.js成功后,使用命令行安装
npm install -g svgo
项目官方网址:
https://www.npmjs.com/package/svgo
安装成功会有如下提示:(类似的提示语)
Nodejs-based tool for optimizeing SVG vector graphics files
Usage使用示例:
svgo [OPTIONS] [ARGS]
3、压缩svg
在控制台输入:
svgo E:\a.svg -o E:\b.svg
第一个路径是需要压缩文件路径;
-o OUTPUT
第二个是压缩后存放地址。
也可以是完整目录形式,如:
svgo -f .\svgFrom_tm\
4、官方示例
$ svgo test.svg
or:
$ svgo *.svg
$ svgo test.svg -o test.min.svg
$ svgo test.svg other.svg third.svg
$ svgo test.svg other.svg third.svg -o test.min.svg -o other.min.svg -o third.min.svg
# with STDIN / STDOUT:
$ cat test.svg | svgo -i - -o - > test.min.svg
with folder
$ svgo -f ../path/to/folder/with/svg/files
or:
$ svgo -f ../path/to/folder/with/svg/files -o ../path/to/folder/with/svg/output
$ svgo *.svg -o ../path/to/folder/with/svg/output
with strings:
$ svgo -s '<svg version="1.1">test</svg>' -o test.min.svg
or even with Data URI base64:
$ svgo -s 'data:image/svg+xml;base64,...' -o test.min.svg
with SVGZ:
from .svgz to .svg:
$ gunzip -c test.svgz | svgo -i - -o test.min.svg
from .svg to .svgz:
$ svgo test.svg -o - | gzip -cfq9 > test.svgz
5、官方使用指引
Usage:
svgo [OPTIONS] [ARGS]
Options:
-h, --help : Help
-v, --version : Version
-i INPUT, --input=INPUT : Input file, "-" for STDIN
-s STRING, --string=STRING : Input SVG data string
-f FOLDER, --folder=FOLDER : Input folder, optimize and rewrite all *.svg files
-o OUTPUT, --output=OUTPUT : Output file or folder (by default the same as the input), "-" for STDOUT
-p PRECISION, --precision=PRECISION : Set number of digits in the fractional part, overrides plugins params
--config=CONFIG : Config file or JSON string to extend or replace default
--disable=PLUGIN : Disable plugin by name, "--disable=PLUGIN1,PLUGIN2" for multiple plugins
--enable=PLUGIN : Enable plugin by name, "--enable=PLUGIN3,PLUGIN4" for multiple plugins
--datauri=DATAURI : Output as Data URI string (base64, URI encoded or unencoded)
--multipass : Pass over SVGs multiple times to ensure all optimizations are applied
--pretty : Make SVG pretty printed
--indent=INDENT : Indent number when pretty printing SVGs
-r, --recursive : Use with '-f'. Optimizes *.svg files in folders recursively.
-q, --quiet : Only output error messages, not regular status messages
--show-plugins : Show available plugins and exit
Arguments:
INPUT : Alias to --input
6、最后附上基于svgo压缩的图标库:zico
这是由Zoomla!逐浪CMS官方开发的中国自主图标库,拥有中国百强企业商标和特色图库,值重使用,网址:
http://ico.z01.com
引用方法很简单,有三种方式:
- 1.基于css,如`
- 2.基于svg格式,标签如上。
- 3.基于单图svg引用
- 4.在设计软件中使用,如photoshop、cordeldraw、word等一切软件应用。
开箱即用,npm快速部署是:
npm i zico
最新文章
- 1014: [JSOI2008]火星人prefix
- BufferedReader 中的 readLine()
- mysql中的where和having子句的区别
- 工作随笔——Swift中的Range和一些字符操作
- javaweb学习总结(二十五)——jsp简单标签开发(一)
- C#微信开发之旅--基本信息的回复
- 执行一条cmd命令的window.bat 批处理代码:
- 基于jq插件开发及弹窗实例
- 面试题 46 1+ 2+3+...+n
- 使用Hexo搭建GitPage
- BadgeView使用介绍
- pig对null的处理(实际,对空文本处理为两种取值null或‘’)
- 2017-3-9 SQL server 数据库
- 图解JQUERY尺寸及位置定义
- Ubuntu 11.10下GRUB 2 1.99版编译安装笔记
- SQL优化小技巧
- 设计Optaplanner下实时规划服务的失败经历
- 非常好的 gdb tui 的文章
- Windows 环境下安装 Oracle JDK
- Spark学习笔记3:键值对操作
热门文章
- P4491-[HAOI2018]染色【多项式,二项式反演】
- 使用jacob调用Windows的com对象,进行word、ppt等转换成ptf、html(二)
- Java——多线程编程学习/01
- 【Golang】Go 通过结构(struct) 实现接口(interface)
- github注册教程最新版(十年程序员保姆级教程)
- 记一次Kafka服务器宕机的真实经历!!
- Java基础之(四):使用IDEA实现HelloWorld
- 洛谷4631 [APIO2018] Circle selection 选圆圈 (KD树)
- 洛谷T31018 经典题丶改(LCT+离线)
- C 函数指针 函数指针数组 转移表