2016-11-21 62 views
0

在我的項目中,我使用grunt生成基於各個svg文件/圖形的svg sprite工作表。爲此,我使用了名爲「grunt-svg-sprite」的咕嚕聲。將屬性添加到生成的SVG文件

我的第一個問題是:是否可以將屬性(例如ID或preserveAspectRation屬性)添加到此生成的精靈的根元素? grunt-svg-sprite會附帶一個選項來執行此類操作嗎?閱讀文檔並沒有幫助我。

或者,我試圖使用grunt-execute將任務添加到我的grunt文件。該任務將在svg精靈生成後立即運行。當時的想法是調用外部JavaScript來插入屬性,東西線沿線的:不知何故

Gruntfile.js

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

svgsprite_script.js

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

應該怎麼指定要修改的文件?上面的代碼會拋出一個關於'document'沒有被定義的錯誤。

什麼是最好的方式,如果有辦法,添加屬性到生成的SVG文件?或者更確切地說:我如何將'perserveAspectRatio'屬性添加到使用'grunt-svg-sprite'生成的svg sprite中?

在此先感謝。

回答

0

你可以使用cheerio加載你的svgsprite文件。它給你一個類似於jQuery的文檔界面,你可以用它來以多種方式更改文檔...包括添加ID

https://github.com/cheeriojs/cheerio