第 15 课:压缩
1. 阅读 Node.js API 资料
2. GZip 压缩文件
要求:
- 创建 20-zlib 目录
- 编写 01-my-gzip.js 脚本
- 要求支持命令行参数,包括:要压缩的文件名
- 没有命令行参数时,提示错误信息
- 文件不存在时,提示错误信息
- 文件存在,则用 GZip 算法压缩该文件
- 打印报告,压缩前文件的字节数,压缩后文件的字节数
3. GZip 解压缩文件
要求:
- 编写 02-my-gunzip.js 脚本
- 要求支持命令行参数,包括:要解压缩的文件名
- 没有命令行参数时,提示错误信息
- 文件不存在时,提示错误信息
- 文件存在,则用 GZip 算法解压缩该文件
4. 阅读 tar API 资料
5. 压缩文件夹
要求:
- 编写 03-my-tar-gzip.js 脚本
- 要求支持命令行参数,包括:要压缩的目录名
- 没有命令行参数时,提示错误信息
- 目录不存在时,提示错误信息
- 目录存在,则用 GZip 算法压缩该目录
6. 解压缩文件夹
要求:
- 编写 04-my-tar-gunzip.js 脚本
- 要求支持命令行参数,包括:要解压缩的目录名
- 没有命令行参数时,提示错误信息
- 目录不存在时,提示错误信息
- 目录存在,则用 GZip 算法解压缩该目录
7. web 静态文件服务
要求:
- 编写 05-static-web-server.js 脚本
- 基于第十二课:数据存储,任务 1 的代码
- 对 HTTP 响应数据进行压缩,提升服务器的性能
- 应该在文件存入缓存前进行压缩,从而避免重复压缩