nodejs压缩文件

版权声明:欢迎交流讨论 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);
}

猜你喜欢

转载自blog.csdn.net/qq_37746973/article/details/82118855