2016-11-21 1 views
0

In meinem Projekt verwende ich grunt, um ein Svg-Sprite-Blatt basierend auf einzelnen SVG-Dateien/Grafiken zu generieren. Dazu benutze ich den Grunt-Beitrag 'grunt-svg-sprite'.Hinzufügen von Attributen zu einer generierten SVG-Datei

Meine erste Frage wäre: Ist es möglich, Attribute (wie eine ID oder die preserveAspectRation Attribute) zum Wurzelelement dieses generierten Sprites hinzuzufügen? Wird Grunt-Svg-Sprite mit einer Option geliefert, so etwas zu tun? Das Lesen der Dokumente hat mir nicht geholfen.

Alternativ habe ich versucht, eine Aufgabe zu meiner gruntfile mit grunt-execute hinzuzufügen. Diese Aufgabe würde unmittelbar nach der Generierung des Svg-Sprites ausgeführt werden. Die Idee war, eine externe Javascript rufen Sie das Attribut, etwas entlang der Linien von einzufügen:

Gruntfile.js

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

svgsprite_script.js i irgendwie

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

Sollte Gibt an, welche Datei geändert werden soll? Der obige Code gibt einen Fehler aus, wenn "Dokument" nicht definiert ist.

Was ist der beste Weg, wenn es eine Möglichkeit gibt, Attribute zu einer generierten SVG-Datei hinzuzufügen? Genauer gesagt: Wie füge ich das "perserveAspectRatio" Attribut zu einem Svg Sprite hinzu, das mit 'grunt-svg-sprite' erzeugt wurde?

Vielen Dank im Voraus.

Antwort

0

Sie könnten cheerio verwenden, um Ihre Svgsprite-Datei zu laden. Es gibt Ihnen eine jquery wie Schnittstelle zu Ihrem Dokument, das Sie das Dokument ändern, in vielerlei Hinsicht nutzen kann ... einschließlich dem Hinzufügen von IDs

https://github.com/cheeriojs/cheerio

Verwandte Themen