gulp,在`pipe()`函数中使用当前文件名

我试图使用它自己的json文件渲染我的gulp源文件中的每个文件,但我无法弄清楚如何访问pipe函数中的当前文件名。

var gulp = require('gulp');
var handlebars = require('handlebars');
var gulpHandlebars = require('gulp-compile-handlebars');

gulp.task('compile-with-sample-data', function () {
  var options = {}
  return gulp.src('./src/**/*.html')
    .pipe(gulpHandlebars({ data: require('./data/' + filename +'.json') }, options))
    .pipe(gulp.dest('./build/'));

});

每次只需使用require('./data/orders-complete.json')我就可以在同一个文件中使用它:

var gulp = require('gulp');
var handlebars = require('handlebars');
var gulpHandlebars = require('gulp-compile-handlebars');

gulp.task('compile-with-sample-data', function () {
  var options = {}
  return gulp.src('./src/**/*.html')
    .pipe(gulpHandlebars({ data: require('./data/orders-complete.json') }, options))
    .pipe(gulp.dest('./build/'));

});

目前还不清楚我会如何做到这一点。


使用gulp-tap,它可以让你获得文件名,甚至可以改变下游管道。

链接地址: http://www.djcxy.com/p/88365.html

上一篇: Gulp, using current filename in `pipe()` function

下一篇: How to easily override multiple overloaded methods?