前端压缩解压数据

270 阅读1分钟

如果后端传输的数据太大, 在前端页面会长时间加载, 给用户造成卡顿的感官, 这时后端可以将数据压缩传输, 前端收到数据后解压使用, 目前项目中使用的是pako

首先 npm install pako

解压和压缩的代码:

import pako from 'pako'

export function unzip (b64Data) {
  var strData = atob(b64Data)
  var charData = strData.split(',').map(function (x) { return parseInt(x) })
  try {
    var data = pako.inflate(charData, { to: 'string' })
  } catch (e) {
    console.log(e)
  }
  return data
}
export function zip (str) {
  let clientData = pako.deflate(str)
  clientData = clientData.toString()
  //   const binaryString = pako.gzip(str, { to: 'string' })
  return btoa(clientData)
}
这是最简单的解压和压缩, 如果遇到复杂的情况, 还需要更多的处理.