У меня есть задача gulp, которая пытается преобразовать файлы .scss в файлы .css(используя gulp -ruby-sass), а затем поместить полученный файл .css в то место, где он нашел исходный файл. Проблема в том, что, поскольку я использую шаблон для подстановки, я не обязательно знаю, где хранится исходный файл.
В приведенном ниже коде я пытаюсь использовать gulp -tap для доступа к потоку и выяснить путь к файлу текущего файла, с которого был прочитан поток:
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));
});
Основываясь на выходе console.log(fileLocation)
, этот код выглядит так, как будто он должен работать нормально. Тем не менее, полученные CSS файлы, кажется, помещены в один каталог выше, чем я ожидаю. Где это должно быть project/sass/partials
, результирующий путь к файлу - это просто project/partials
.
Если будет гораздо более простой способ сделать это, я определенно буду признателен за это решение еще больше. Спасибо!