我在将可读流输出到 http 响应时遇到问题。
在幕后有一个来自通用 http createServer 的常规请求和响应流。我检查“req.url”是否以 css 结尾,然后创建该文件的可读流。我在 console.log 中看到了 css 内容,以及我期望的正确 css 代码。然后,我尝试将可读的 css 文件流通过管道传递给响应,但是在 Chrome 中,当我检查响应时,文件响应是空白的。这是一个 200 响应。乍一看有什么想法吗?我尝试了不同的代码注释掉的地方。
router.addRoute("[a-aA-z0-9]{1,50}.css$", function(matches){
var cssFile = matches[0];
var pathToCss = process.cwd() + "/" + cssFile;
// takes care of os diffs regarding path delimiters and such
pathToCss = path.normalize(pathToCss);
console.log(matches);
console.log("PATH TO CSS");
console.log(pathToCss)
var readable = fs.createReadStream(pathToCss);
var write = function(chunk){
this.queue(chunk.toString());
console.log(chunk.toString());
}
var end = function(){
this.queue(null);
}
var thru = through(write,end);
//req.on("end",function(){
res.pipe(readable.pipe(thru)).pipe(res);
//res.end();
//});
});