如何读取流.pipe(myfunction())?

我尝试了,但是出错了。如何读取gulp.src('./ userdata.json')和.pipe()的流?我不知道是怎么回事。

gulpfile.js

   var upmodul = require("modul-json");
      //......
        return gulp.src('./userdata.json')
            .pipe(upmodul());
      ......//




node_modules /模块化json / index.js

'use strict';
var Stream = require('stream');


var loger = function () {

    var readable = new Stream.Readable({
        read: function (n) {

            this.push("ll");
        }
    });


}

module.exports =  loger;




错误

    [00:19:39] TypeError: Cannot read property 'on' of undefined
        at DestroyableTransform.Readable.pipe (E:\Developers\WebDeveloper\OpenServer
    -WebProg\domains\progectapi2\node_modules\vinyl-fs\node_modules\readable-stream\
    lib\_stream_readable.js:516:7)
        at Gulp.<anonymous> (E:\Developers\WebDeveloper\OpenServer-WebProg\domains\p
    rogectapi2\gulpfile.js:159:9)
        at module.exports (E:\Developers\WebDeveloper\OpenServer-WebProg\domains\pro
    gectapi2\node_modules\orchestrator\lib\runTask.js:34:7)
        at Gulp.Orchestrator._runTask (E:\Developers\WebDeveloper\OpenServer-WebProg
    \domains\progectapi2\node_modules\orchestrator\index.js:273:3)
        at Gulp.Orchestrator._runStep (E:\Developers\WebDeveloper\OpenServer-WebProg
    \domains\progectapi2\node_modules\orchestrator\index.js:214:10)
        at Gulp.Orchestrator.start (E:\Developers\WebDeveloper\OpenServer-WebProg\do
    mains\progectapi2\node_modules\orchestrator\index.js:134:8)
        at C:\Users\Tiki
\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129:20
        at nextTickCallbackWith0Args (node.js:433:9)
        at process._tickCallback (node.js:362:13)
        at Function.Module.runMain (module.js:432:11)

最佳答案

gulp文档包含有关building a plugin的一些信息,这些信息可能对您有用。该页面上的一个样本仅讨论转换流。


  所有的gulp插件本质上都可以归结为:

var Transform = require('stream').Transform;

module.exports = function() {
  // Monkey patch Transform or create your own subclass,
  // implementing `_transform()` and optionally `_flush()`
  var transformStream = new Transform({objectMode: true});
  /**
   * @param {Buffer|string} file
   * @param {string=} encoding - ignored if file contains a Buffer
   * @param {function(Error, object)} callback - Call this function (optionally with an
   *          error argument and data) when you are done processing the supplied chunk.
   */
  transformStream._transform = function(file, encoding, callback) {
    var error = null,
        output = doSomethingWithTheFile(file);
    callback(error, output);
  });

  return transformStream;
};

关于javascript - 如何读取流.pipe(myfunction()),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34802275/

10-11 06:12