0

我正在尝试获取通过流的每个 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')))
});
4

2 回答 2

0

您不能像那样访问文件名,因为您超出了正在运行的流的范围。您需要做的是使用您的水龙头中的文件名或使用 through2。你具体想达到什么目的?

于 2015-08-28T10:43:22.603 回答
0

你不能_base在return语句上面声明吗?

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')))
});
于 2015-08-27T13:54:16.710 回答