我试图获取通过流的每个html文件的基本名称。这里的代码显然不起作用,因为_base
不再在作用域中。似乎应该有一种非常简单的方法来做到这一点,或者可能有一些我不知道的内置在gulp-ejs中的东西。想法吗?
gulp.task('html', function () {
return gulp.src('app/*.html')
.pipe(tap(function(file, t){
var _base = path.basename(file.path, '.html');
})
.pipe($.ejs(require('./app/'+_base+'.json')))
});
不能在返回语句上面声明_base
吗?
gulp.task('html', function () {
var _base;
return gulp.src('app/*.html')
.pipe(tap(function(file, t){
_base = path.basename(file.path, '.html');
})
.pipe($.ejs(require('./app/'+_base+'.json')))
});
您不能像那样访问文件名,因为您超出了正在运行的流的范围。你需要做的是使用你点击的文件名或者使用through2。你具体想达到什么目标?