7
Próbuję wyrenderować każdy plik w moich plikach źródłowych potoku z własnym plikiem json, ale nie mogę wymyślić, jak uzyskać dostęp do bieżącej nazwy pliku w pipe
funkcjonować.Gulp, używając aktualnej nazwy pliku w funkcji `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/'));
});
Gdzie mogę zmusić go do pracy z tego samego pliku za każdym razem używając tylko 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/'));
});
Nie jest jasne, w jaki sposób to zrobić.
Wygląda na to, że potrzebujesz czegoś takiego jak [gulp-tap] (https://www.npmjs.com/package/gulp-tap/), aby odsłonić ścieżki plików, zobacz [odpowiedź] (http: // stackoverflow. com/questions/21806925/get-the-current-file-name-in-gulp-src) – 1cgonza
Udało ci się sprawić, żeby działało? Nie można uzyskać pożądanego efektu za pomocą dotknięcia kroplą – Femel