gulp 根据文件名动态创建文件夹的任务

gulp task that dynamically create folder with name based on file name

我有以下 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

其中 folderName 是已处理的 .html 文件的名称。

我需要它来获取 npm email-templates 包所需格式的文件结构。

这是 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/'));
});