sto tubazioni di un file attraverso una stringa su due piani (per gentile concessione di through) e sto avendo problemi con la stampa le informazioni per stdout
e scrittura nel file. Uno o l'altro funziona bene.Tubo per stdout e scrivibile flusso
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)
Sto assumendo questo è perché process.stdout
è un flusso scrivibile, ma non sono sicuro di come fare ciò che voglio (ho provato passando {end: false}
inutilmente).
ancora lottando per avvolgere la mia testa intorno corsi d'acqua, così mi perdoni se ho perso qualcosa di ovvio:)
Grazie, questo funziona come un fascino. Qualche spiegazione sul perché questi devono essere separati in questo modo? I tubi –
restituiscono la destinazione, non la loro origine. e vuoi solo fare pipa in un flusso una volta. –