J'ai une tâche gulp qui tente de convertir des fichiers .scss en fichiers .css (en utilisant gulp-ruby-sass), puis placez le fichier .css résultant au même endroit où il a trouvé le fichier d'origine. Le problème est que, puisque j'utilise un modèle de globbing, je ne sais pas nécessairement où le fichier d'origine est stocké.
Dans le code ci-dessous, j'essaie d'utiliser gulp-tap pour accéder au flux et déterminer le chemin du fichier du fichier actuel à partir duquel le flux a été lu:
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));
});
Sur la base de la sortie de console.log(fileLocation)
, ce code semble fonctionner correctement. Cependant, les fichiers CSS résultants semblent être placés un répertoire plus haut que ce à quoi je m'attendais. Là où il devrait être project/sass/partials
, le chemin du fichier résultant est juste project/partials
.
S'il existe une manière beaucoup plus simple de faire cela, j'apprécierais certainement encore plus cette solution. Merci!
sass
dossier?