业务: 将dist目录下的1.txt打包,然后生成一个压缩包
分析:
1. 流
- 水流
- 举例:比如: 有二个水杯,水杯中有水,我把A水杯的水倒入B中:
- 分析
- 两个杯子,一个出,一个入
- 水 持续倒入的
- 总结:
- 杯子
- 入: 可写的流
- 出: 可读的流
- 水
- data Node.js中数据是分片【 chunk 】传输的
- 为了提高性能,减少能耗【 cpu 】
- 管道流 【 连接 I/O 之间的一个管道】,这个管道我们称之为: pipe
- gulp就是一来了Node.js流的概念,它才能在grunt竞争中胜出
总结:
流这个概念
Node.js中数据传输是分片的流
代码部分
const zlib = require(‘zlib’) // zlib是一个压缩包的内置模块
const fs = require(‘fs’) // fs是文件系统
// const in = fs.createReadStream(文件路径)
// 通过fs文件系统将1.txt中的内容读出来 - A水杯中的水倒出来
const inp = fs.createReadStream(’./dist/1.txt’) // 创建可读的流
// 通过fs文件系统将 data 中的内容写进去 流写进去
const out = fs.createWriteStream(‘1.txt.gz’) //创建可写的流 要产生的压缩文件
const gzlib = zlib.createGzlip() // 创建一个空的压缩包
inp
.pipe(gzlib)
.pipe(out)