2015-10-19 4 views
7

Ich versuche, jede Datei in meinem Schluck Quelldateien mit eigenen JSON-Datei zu rendern, aber ich kann nicht herausfinden, wie Sie auf den aktuellen Dateinamen in der pipe zugreifen Funktion.Gulp, mit aktuellen Dateinamen in `Pipe()` Funktion

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

}); 

Wo ich es nur mit require('./data/orders-complete.json') mit derselben Datei jedes Mal an der Arbeit kann:

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

}); 

Es ist nicht klar, wie ich dies tun würde.

+1

Klingt, als ob Sie etwas wie [gulp-tap] (https://www.npmjs.com/package/gulp-tap/) benötigen, um Ihre Dateipfade freizulegen, siehe [Antwort] (http: // stackoverflow. com/questions/21806925/get-the-current-Dateiname-in-gulp-src) – 1cgonza

+0

Haben Sie es geschafft, es funktioniert zu bekommen? Kann mit Schluckhahn nicht den gewünschten Effekt erzielen – Femel

Antwort

4

Verwenden Sie gulp-tap, können Sie den Dateinamen abrufen und sogar für Downstream-Pipes ändern.

Verwandte Themen