资源压缩-zlib
简单的压缩
const fs = require("fs");
const zlib = require("zlib");
const gzip = zlib.createGzip();
const inFile = fs.createReadStream("./aaa.txt");
const out = fs.createWriteStream("./aaa.zip");
inFile.pipe(gzip).pipe(out);
解压缩
const fs = require("fs");
const zlib = require("zlib");
const gunzip = zlib.createGunzip();
const inFile = fs.createReadStream("./aaa.txt.gz");
const outFile = fs.createWriteStream("./aaa1.txt");
inFile.pipe(gunzip).pipe(outFile);
服务端 gzip 压缩 createGzip
const fs = require("fs");
const zlib = require("zlib");
const http = require("http");
const filePath = "./fileForGzip.html";
const server = http.createServer(function (req, res) {
const acceptEncoding = req.headers["accept-encoding"];
let gzip;
if (acceptEncoding.indexOf("gzip" != -1)) {
gzip = zlib.createGzip();
res.writeHead(200, {
"Content-Encoding": "gzip",
});
fs.createReadStream(filePath).pipe(gzip).pipe(res);
} else {
fs.createReadStream(filePath).pipe(filePath).pipe(res);
}
});
server.listen("3000");
服务端字符串 gzip 压缩 gzipSync
const http = require("http");
const zlib = require("zlib");
const responseText = "hello world";
const server = http.createServer(function (req, res) {
const acceptEncoding = req.headers["accept-encoding"];
if (acceptEncoding.indexOf("gzip") != -1) {
res.writeHead(200, {
"content-encoding": "gzip",
});
res.end(zlib.gzipSync(responseText));
} else {
res.end(responseText);
}
});
server.listen("3000");