Node.js zlib — 压缩与解压
用 gzip/deflate 压缩数据,减少传输体积 · 难度:进阶 · +15XP
zlib 模块
zlib 用于数据压缩和解压。在 Web 服务器中压缩响应内容能大幅减少传输量(Express 有 compression 中间件内部就用 zlib)。
基本用法
const zlib = require("zlib");
// 压缩
const input = "Hello World ".repeat(1000);
zlib.gzip(input, (err, buffer) => {
console.log("原始:", input.length, "字节");
console.log("压缩:", buffer.length, "字节");
console.log("压缩率:", (buffer.length / input.length * 100).toFixed(1) + "%");
});
1000 次重复的 "Hello World" 从 12000 字节压缩到约 50 字节——只有原来的 0.4%!
学习与实践建议
- 先理解本节的核心概念和语法规则
- 在右边编辑器中修改示例代码,观察运行结果变化
- 尝试用学到的知识完成一个小练习——比如自己写一个工具函数或小程序
- 遇到问题时,查阅官方文档是最快的学习途径
编程是门实践技能,动手写代码比看教程重要得多。坚持每天练习,你会很快看到进步!