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

时间:2016-01-15 00:21:02

标签: javascript node.js gulp

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

我尝试,但给出错误。如何读取 gulp.src('。/ userdata.json') .pipe()的流?我不知道它是怎么做的。

gulpfile.js

    [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)

node_modules / modul-json / index.js

{{1}}

错误

{{1}}

1 个答案:

答案 0 :(得分:2)

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;
};