簡體   English   中英

是否可以將流同步轉換為緩沖區?

[英]Is it possible to convert stream to buffer synchronously?

看一下使用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'));
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM