2015-10-19 32 views
7

Sto provando a eseguire il rendering di ciascun file nei file di origine Gulp con il proprio file JSON, ma non riesco a capire come accedere al nome file corrente nel pipe funzione.Gulp, utilizzando il nome file corrente nella funzione `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/')); 

}); 

Dove posso farlo funzionare con la stessa lima ogni volta da solo utilizzando 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/')); 

}); 

Non è chiaro come avrei fatto questo.

+1

Sembra che tu abbia bisogno di qualcosa come [gulp-tap] (https://www.npmjs.com/package/gulp-tap/) per esporre i tuoi percorsi di file, vedi questa [risposta] (http: // stackoverflow. it/questions/21806925/get-the-current-nome-file-in-gulp-src) – 1cgonza

+0

Sei riuscito a farlo funzionare? Non è possibile ottenere l'effetto desiderato con gulp-tap – Femel

risposta

4

Utilizzare gulp-tap, consente di ottenere il nome del file e persino di modificarlo per le pipe downstream.

Problemi correlati