dma*_*man 5 javascript stream node.js
我希望能够过滤输出。但是,我在从缓冲区转换为字符串时遇到问题。console.log(JSON.stringify(obj.toString()));不断给我[object Object]我无法使用的东西。如何将缓冲区转换为字符串,以便将内容过滤到标准输出?
//inject 'bower and javascript' files or just 'javascript' files
function injectStream(sourceStream, filesStream) {
sourceStream
.pipe(injector(filesStream, { ignorePath: 'app', addRootSlash: false }))
.pipe(gulp.dest(INDEX_PATH_PARENT))
.pipe(through2.obj(function(obj, enc, next) {
console.log(JSON.stringify(obj.toString()));
this.push(obj.contents);
next();
})).pipe(process.stdout)
}
Run Code Online (Sandbox Code Playgroud)
through2.obj创建一个对象流(或对象模式下的流)。对象通过对象流流动,而不是缓冲区。你得到的不是一个缓冲区,而是一个对象obj。这就是为什么它的toString方法给出[object Object]. 也许您正在寻找的东西在obj.contents?