Javascript 将多个文件传输到一个响应

Javascript 将多个文件传输到一个响应,javascript,node.js,stream,pipe,Javascript,Node.js,Stream,Pipe,我正试图写两个文件和一些更多的文字来回应。 但是,下面的代码只返回第一个文件和“仅此而已!”文本 您需要的是一个双工流,它将数据从一个流传递到另一个流 stream.pipe(duplexStream).pipe(stream2).pipe(res); 在上面的示例中,第一个管道将所有数据从stream写入duplexStream,然后将数据从duplexStream写入stream2,最后stream2将数据写入res可写流 这是write方法的一个可能实现示例 DuplexStream.w

我正试图写两个文件和一些更多的文字来回应。 但是,下面的代码只返回第一个文件和“仅此而已!”文本


您需要的是一个双工流,它将数据从一个流传递到另一个流

stream.pipe(duplexStream).pipe(stream2).pipe(res);
在上面的示例中,第一个管道将所有数据从
stream
写入
duplexStream
,然后将数据从
duplexStream
写入
stream2
,最后
stream2
将数据写入
res
可写流

这是write方法的一个可能实现示例

DuplexStream.write = function(chunk, encoding, done) {
   this.push(chunk);
}

您可以使用stream它是一个非常基本的节点模块(不使用依赖项)

DuplexStream.write = function(chunk, encoding, done) {
   this.push(chunk);
}
var ss = require('stream-stream');
var fs = require('fs');

var files = ['one.html', 'two.html'];
var stream = ss();

files.forEach(function(f) {
    stream.write(fs.createReadStream(f));
});
stream.end();

res.writeHead(200, {'Content-Type' : 'text/plain'});
stream.pipe(res, { end:false});