动态模版如何开启gzip
发布于 2年前 作者 zhuwenlong 908 次浏览

一般情况下可以通过 createReadStream然后再用管道进行在gzip var raw = fs.createReadStream(realPath); response.setHeader("Content-Encoding", “gzip”); stream = raw.pipe(zlib.createGzip()); stream.pipe(response);

但是如果是动态文件需要进行模版或者在线压缩之后,如果再进行gzip 难道处理好之后再存入文件然后在用流的形式进行gzip压缩?

11 回复

在Node前面再挂一个Nginx做反向代理,顺便处理GZIP这些杂务,我是这么做的

如果不用Nginx的方法貌似静态文件比较好做,动态文件看了半天没有方案 我再观望一下吧,实在不行就Nginx

如果只用connect(或者express),可以使用compress中间件来压缩 如果使用了Nginx,也可以交给Nginx来压缩 总之,模板应该只做它最该做的事情(渲染),压缩是HTTP服务器做的

但是现在压缩应该在server层面的,但是我不知道如何把压缩好的或者说模版处理好的东西,通过res返回是进行压缩

这个需要框架支持了,在res.render()模版之后,需要对模版的字符串进行gzip压缩了

不是我想用的。。

compress中间件可以修改 res.write()res.end() ,对所有输出都进行压缩,不用模板支持的。

参考: http://www.senchalabs.org/connect/compress.html

回到顶部