У меня есть задача 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
.
Если есть более простой способ сделать это, я определенно ценю это решение еще больше. Спасибо!
источник
sass
папку?gulp.src("dist/**/*")
...gulp.dest("./")
sass
. Возможно, плагин sass уже изменяет пути?Это проще, чем привели числа 1311407. Вам вообще не нужно указывать папку назначения, просто используйте
.
. Также не забудьте установить базовый каталог.источник
./sass
, но в вопросе указано, что на выходе сохраняетсяsass
каталог, поэтому он повторяется в файлеdest
. Этот ответ дает тот же результат при использовании базовой опции, но оба подхода неверны.css
каталог или аналогичный, а не изsass
вsass
. В таких случаях принятый ответ на самом деле проще, чем эта альтернатива.Первоначально ответ здесь: https://stackoverflow.com/a/29817916/3834540 .
Я знаю, что эта ветка устарела, но она все еще отображается как первый результат в Google, поэтому я подумал, что могу разместить ссылку здесь.
источник
dest
неправильного использования . Конечно, данные решения работают, но если сделать все правильно с первого раза, просто заменивdest('./')
наdest('./images')
, то результат будет тот же.Это было очень полезно!
источник