版权声明:欢迎交流讨论 https://blog.csdn.net/qq_37746973/article/details/82118855
工具方法: compress.js
const {createGzip, createDeflate} = require('zlib');
module.exports = (rs, req, res) =>{
const acceptEncoding = req.headers['accept-encoding']; //浏览器支持的压缩方式
if(!acceptEncoding || !acceptEncoding.match(/\b(gzip|deflate)\b/)) {
return;
}
else if(acceptEncoding.match(/\bgzip\b/)) {
res.setHeader('Content-Encoding', 'gzip');
return rs.pipe(createGzip());
} else if(acceptEncoding.match(/\bdeflate\b/)) {
res.setHeader('Content-Encoding', 'deflate');
return rs.pipe(createDeflate());
}
};
使用方法:
if(filePath.match(/\.(html|js|css|md|json|txt)/)) {
rs = compress(rs, req, res);
}