美文网首页
SVGO: Node.js 开发的 SVG 矢量图优化工具(sv

SVGO: Node.js 开发的 SVG 矢量图优化工具(sv

作者: zoomlaCMS | 来源:发表于2020-07-01 18:49 被阅读0次

    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\
    
    image

    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,如`<i class="zi zi_user"></i>
    • 2.基于svg格式,标签如上。
    • 3.基于单图svg引用
    • 4.在设计软件中使用,如photoshop、cordeldraw、word等一切软件应用。

    开箱即用,npm快速部署是:

    npm i zico
    

    相关文章

      网友评论

          本文标题:SVGO: Node.js 开发的 SVG 矢量图优化工具(sv

          本文链接:https://www.haomeiwen.com/subject/camhqktx.html