在你的网络上找到的大多数例子中,index.html
文件送达如下所示:什么是将索引页面流式传输到客户端的正确方法?
function serveIndexPage(response) {
fs.readFile('__dirname + /public/index.html', function (err, data) {
response.end(data);
});
};
这似乎是一个坏主意,因为整个文件读入内存,然后发送给客户端。有没有更好的方法来做到这一点?我知道像Connect和Express这样的libaries提供了这样的功能,但对于我的项目,我想使用普通的node.js。
编辑
而且,你有时会看到使用readFileSync
,这是恕我直言更糟。
你可以使用'fs.createReadStream (file).pipe(response)'这可能会提高性能,但如果您担心这种性能,我建议您使用静态文件服务器或CDN来提供静态文件。 – 2012-03-26 10:54:18
管道是要走的路。我不同意Linus tho。如果你服务更大的文件,你不想在内存中拥有所有的东西。 – 2012-03-26 12:30:01
@Jan你介意提供一个例子吗? – helpermethod 2012-03-26 12:33:22