我希望能够过滤输出内容,但是我在将缓冲区转换为字符串时遇到了问题。 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)
}
console.log(obj.contents)
给了我<Buffer 3c 68 74 6d 6c 20 6c 61 6e 67 3d 22 65 6e 22 3e 0a 09 3c 68 65 61 64 3e 0a 09 09 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 66 2d 38 22 20 2f 3e ...>
- dmantoString
方法? - spelufoconsole.log(obj.contents.toString());
可以工作。但是它会一次性给出整个内容。我希望能够逐行输出,因为我认为它应该使用next()
迭代。 - dmanconsole.log(obj)
查看对象属性?即使使用了 json.stringify 也不行。这让故障排除变得困难。 - dmanobj.prototype
或obj.__proto__
。 - spelufo