Задача gulp, которая динамически создает папку с именем на основе имени файла
У меня есть следующее задание глотка, которое в настоящее время не работает.
gulp.task('emails', function() {
gulp.src('views/emails/src/**/*.html')
.pipe(inky())
.pipe(gulp.dest('views/emails/dist/'+debug()+"/html.ejs"));
});
Я хотел бы перебрать каталог /views/emails/src/, найти все html-файлы, затем использовать inky, чтобы преобразовать их в html, а затем скопировать полученный html-файл в...
views/emails/dist/'+ folderName +"/html.ejs
где имя_папки - это имя файла.html, который был обработан.
Мне это нужно для того, чтобы получить файловую структуру в формате, который требует пакет почтовых шаблонов npm.
1 ответ
Решение
Это работа для gulp-rename
:
var rename = require('gulp-rename');
var path = require('path');
gulp.task('emails', function() {
gulp.src('views/emails/src/**/*.html')
.pipe(inky())
.pipe(rename(function(file) {
file.dirname = path.join(file.dirname, file.basename);
file.basename = 'html';
file.extname = '.ejs';
}))
.pipe(gulp.dest('views/emails/dist/'));
});