Ich habe eine gulp-Aufgabe, die versucht, .scss-Dateien in .css-Dateien zu konvertieren (mit gulp-ruby-sass) und dann die resultierende .css-Datei an der Stelle abzulegen, an der sie die Originaldatei gefunden hat. Das Problem ist, da ich ein Globbing-Muster verwende, weiß ich nicht unbedingt, wo die Originaldatei gespeichert ist.
Im folgenden Code versuche ich, mit gulp-tap auf den Stream zu tippen und den Dateipfad der aktuellen Datei herauszufinden, aus der der Stream gelesen wurde:
gulp.task('convertSass', function() {
var fileLocation = "";
gulp.src("sass/**/*.scss")
.pipe(sass())
.pipe(tap(function(file,t){
fileLocation = path.dirname(file.path);
console.log(fileLocation);
}))
.pipe(gulp.dest(fileLocation));
});
Basierend auf der Ausgabe von console.log(fileLocation)
scheint dieser Code gut zu funktionieren. Die resultierenden CSS-Dateien scheinen jedoch ein Verzeichnis höher zu liegen, als ich erwartet habe. Wo es sein sollte project/sass/partials
, ist der resultierende Dateipfad nur project/partials
.
Wenn es einen viel einfacheren Weg gibt, würde ich diese Lösung definitiv noch mehr schätzen. Vielen Dank!
sass
Ordner zu legen ?