2016-04-01 5 views
1

Ich brauche zwei zusammengeführte CSS-Dateien in einem Verzeichnis - eins mit Quellkarte und ein anderes ohne. Was ich zum Beispiel versucht, ist so etwas wie dieses:Wie schreibe ich zwei CSS-Dateien: mit und ohne Quellkarte

.pipe(sourcemaps.init()) 
.pipe(concat('xxx.dev.min.css')) 
.pipe(sourcemaps.write()) 
.pipe(gulp.dest(cssDir)) 
.pipe(sourcemaps.init({loadMaps:true})) 
.pipe(concat('xxx.min.css')) 
.pipe(sourcemaps.write('/dev/null', {addComment: false})) 
.pipe(gulp.dest(cssDir)) 

Alle meine in Folge Der Versuch, entweder beide Dateien eine sourcemap, die beide keinen sourcemap oder ein zu haben, die sourcemap auf einem anderen, nicht auf die Originaldateien.

Kann dies nur mit Schluck-Quellkarten erreicht werden und wie und wenn nicht, wie?

Antwort

1

denke ich Folgendes sollte funktionieren:

Das die verketteten withoutSourcemap.css in das Zielverzeichnis sendet, bevor Quellenzuordnungen generiert wurden. Wir benennen die Datei dann einfach in withSourcemap.css um. Erst danach wird die Quellkarte in den Stream geschrieben und an das Zielverzeichnis gesendet.

EDIT: Dies ist die withSourcemap.css in meinem Fall generiert:

.one { color:red; } 

.two { color:blue; } 

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9uZS5jc3MiLCJ0d28uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUNEQTtBQUNBIiwiZmlsZSI6IndpdGhTb3VyY2VtYXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm9uZSB7IGNvbG9yOnJlZDsgfVxuIiwiLnR3byB7IGNvbG9yOmJsdWU7IH1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */ 

Base64-Decodierung der eingebetteten Quelle Karte ergibt die folgende:

{"version":3,"sources":["one.css","two.css"],"names":[],"mappings":"AAAA;AACA;ACDA;AACA","file":"withSourcemap.css","sourcesContent":[".one { color:red; }\n",".two { color:blue; }\n"],"sourceRoot":"/source/"} 
+0

Netter Versuch, aber dies würde eine sourcemapin erstellen withSourcemap.js basiert auf ohneSourceMap.js, nicht basierend auf js/one.js und js/two.js, weil die 2 Dateien bereits im Stream zusammengeführt wurden :) Ich hatte es tatsächlich so eingerichtet und dachte es funktioniert auch. – bogatyrjov

+0

Huh? Die generierte Quellkarte hat '" sources ": [" one.css "," two.css "]' not '" sources ": [" withoutSourcemap.css "]' (siehe oben), was bedeuten sollte, dass es so ist basierend auf 'one.css' und' two.css' nicht 'ohneSourcemap.css'. Es sei denn, ich verstehe etwas falsch. –

+0

Es funktionierte wirklich gut, mein schlechtes. Ich hatte es vorher falsch gemacht. Vielen Dank ;) – bogatyrjov

Verwandte Themen