Node.js11---zlib模块

zlib模块

zlib经常用于压缩文件大小,代码如下:

//zlib.js

const http = require('http')
const fs = require('fs')
const zlib = require('zlib')
const gzip = zlib.createGzip()
http.createServer((req, res) => {
    
    
    //res除了说是返回给浏览器端的参数,也是可写流
    const readStream = fs.createReadStream('./index.js')
    res.writeHead(200, {
    
     "Content-Type": "application/x-javascript;charset=utf-8","Content-Encoding":"gzip" })
       //pipe(gzip)是压缩处理
    readStream.pipe(gzip).pipe(res)
}).listen(3000, () => {
    
    
    console.log("服务器开启了!")
})

//我是给zlib.js测试用的js 随便乱写的js
const url = require('url')
const urlObject = {
    
    
    protocol: 'https:',
    slashes: true,
    auth: null,
    host: 'www.baidu.com:443',
    port: '443',
    hostname: 'www.baidu.com',
    hash: '#tag=110',
    search: '?id=8&name=mouse',
    query: {
    
     id: '8', name: 'mouse' },
    pathname: '/ad/index.html',
    path: '/ad/index.html?id=8&name=mouse'
}
const parsedObj = url.format(urlObject)
console.log(parsedObj)

const url = require('url')
var a = url.resolve('/one/two/three', 'four')
var b = url.resolve('http://example.com/', '/one')
var c = url.resolve('http://example.com/one', '/two')
var d = url.resolve('http://example.com/one/12/34', '/56')
var e = url.resolve('http://example.com/one/12/34', '56')

// 需要注意的是, /one/two/three这种纯路径注意加/和不加/是有区别的,不加/会用后面的一个把前面的一个进行替换,加/就会进行相连
// 如果是http://example.com/这种域名形式的,则会后面的替换前面的

console.log(a)
console.log(b)
console.log(c)
console.log(d)
console.log(e)

运行后浏览器输入localhost:3000可以看到效果,而且我们看到文件大小也被压缩了:
请添加图片描述

猜你喜欢

转载自blog.csdn.net/qq_37635012/article/details/127417167