将属性添加到生成的SVG文件

时间:2016-11-21 12:53:25

标签: javascript svg gruntjs

在我的项目中,我使用grunt根据各个svg文件/图形生成svg精灵表。为此,我正在使用名为' grunt-svg-sprite'的咕噜声。

我的第一个问题是:是否可以将属性(例如ID或preserveAspectRation属性)添加到此生成的精灵的根元素中? grunt-svg-sprite是否可以选择执行此类操作?阅读文档并没有帮助我。

或者我尝试使用grunt-execute向gruntfile添加任务。生成svg sprite后立即运行此任务。我的想法是调用外部javascript来插入属性,类似于:

Gruntfile.js

execute: {
        target: {
            src: ['svgsprite_script.js']
        }
    }

svgsprite_script.js

var root = document.documentElement;
root.setAttribute('preserveAspectRatio', 'none');

我应该以某种方式指定要修改的文件?上面的代码引发了关于'文档'的错误没有被定义。

如果有办法,为生成的svg文件添加属性的最佳方法是什么?或者更确切地说:我如何添加' perserveAspectRatio'属于使用' grunt-svg-sprite生成的svg sprite'?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用cheerio加载svgsprite文件。它为您提供了一个类似于文档界面的jquery,您可以使用它来以多种方式更改文档...包括添加ID

https://github.com/cheeriojs/cheerio

相关问题