repl readstream read print nodejs node example commands node.js node.js-stream

node.js - readstream - Tubería a stdout y secuencia de escritura



nodejs print console (1)

Estoy canalizando un archivo a través de una cadena dúplex (cortesía de a through ) y tengo problemas para imprimir la información en la stdout estándar y escribir en el archivo. Uno u otro funciona bien.

var fs = require(''fs''); var path = require(''path''); var through = require(''through''); // easy duplexing, i''m young catify = new through(function(data){ this.queue(data.toString().replace(/(woof)/gi, ''meow'')); }); var reader = fs.createReadStream(''dogDiary.txt''); // woof woof etc. var writer = fs.createWriteStream(path.normalize(''generated/catDiary.txt'')); // meow meow etc. // yay! reader.pipe(catify).pipe(writer) // blank file. T_T reader.pipe(catify).pipe(process.stdout).pipe(writer)

Supongo que esto se debe a que process.stdout es una secuencia de escritura, pero no estoy seguro de cómo hacer lo que quiero (he intentado pasar {end: false} en vano).

Todavía luchando por envolver mi cabeza alrededor de las corrientes, así que perdóname si me he perdido algo obvio:)


Creo que lo que quieres es:

reader.pipe(catify) catify.pipe(writer) catify.pipe(process.stdout)

Estos debían estar separados porque las tuberías devuelven sus destinos y no su origen.