是否可以将流同步转换为缓冲区



看看使用gulp-tap的最简单的Gulp任务:

var gulp = require('gulp');
var tap = require('gulp-tap');    
gulp.task('mytask', function () {
    return gulp.src("src/*/*.js")
        .pipe(tap(function (file) {
            file.contents = new Buffer('blabla');        
        }))
    .pipe(gulp.dest('./dist'));
});

它从src目录中获取文件,用"blabla"替换内容,并将那些"损坏"的文件保存到"dist"目录中。这很容易!

但是,如果我们有流而不是"blabla"呢?例如:

var gulp = require('gulp');
var tap = require('gulp-tap');
var jsdocParse= require("jsdoc-parse");  
gulp.task('jsdoc', function () {
  return gulp.src("src/*/*.js")
    .pipe(tap(function (file) {
      var stream = jsdocParse(file.path);
      file.contents = ???;
    }))
    .pipe(gulp.dest('./dist'));
});

试试这个:

gulp.task('mytask', function () {
    return gulp.src("src/*.js")
        .pipe(tap(function (file, t) {
          file.contents = Buffer.concat([
                jsdocParse(file.path)
            ]);
        }))
    .pipe(gulp.dest('./dist'));
});

相关内容

  • 没有找到相关文章

最新更新