gulp任务,动态创建名称基于文件名的文件夹

时间:2016-03-28 14:44:54

标签: node.js npm gulp zurb-foundation inky

我有以下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包所需的格式获取文件结构。

1 个答案:

答案 0 :(得分:5)

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