Mu ( HTTP engine)记录了一种使用util.pump()将其流读入Node.js write流的方法。但是util.pump()已经被弃用,取而代之的是流对象上的util.pump()方法。
所以我的测试是:
var http = require('http');
var mu = require('mu2');
http.createServer(function(req, res) {
mu.compileText("testname", "Hello world");
var stream = mu.render("testname", {});
stream.pipe(res);
res.end();
}).listen(8888);但它不会输出任何内容。我也尝试了util.pump(),这也不起作用。
但是,我能够将on-data事件附加到u::render(),并以这种方式将数据写入res。
在通过管道将MU流传送到HTTP时,我做错了什么?
我使用的是node版本0.10.5和mu2@0.5.17。
发布于 2013-05-08 15:57:14
解决方案是在结束HTTP响应流之前检查MU steam结束事件:
var http = require('http');
var mu = require('mu2');
http.createServer(function(req, res) {
mu.compileText("testname", "Hello world");
var stream = mu.render("testname", {});
stream.pipe(res);
// Here's the trick.
stream.on('end', function() {
res.end();
});
}).listen(8888);https://stackoverflow.com/questions/16352431
复制相似问题