使用 npm
npm install snappyjs
使用 bower
bower install snappyjs
安装完成后使用下面的方法引入,看项目需求,个别页面用到,局部引入即可。
import SnappyJS from 'snappyjs'
也可以使用下面的方法引入(不推荐)。
const SnappyJS = require('snappyjs')
压缩和解压很简单,按照 github 上文档操作如下。
// 压缩
SnappyJS.compress(buffer)
// 解压
SnappyJS.uncompress(compressed)
如此简单的文档,想来不是大家希望看到的。确实,单纯的压缩和解压就是这样操作,但文档中提到了这样一段话。
SnappyJS relies on ArrayBuffer. All major browsers support it now (http://caniuse.com/#feat=typedarrays). Also, as I tested, SnappyJS has high performance on latest version of Google Chrome, Safari, Firefox, and Microsoft Edge.
这个插件仅支持对二进制
文件进行压缩和解压,所以需要对数据进行二进制转换与还原。
所以,真正的使用方法如下:
// 转为二进制文件并压缩
const compressed = (data) => {
const jsonString = JSON.stringify(data)
const encoder = new TextEncoder()
const arrayBuffer = encoder.encode(jsonString)
return SnappyJS.compress(arrayBuffer)
}
// 解压并还原为原始数据
const uncompressed = (data) => {
const decoder = new TextDecoder()
const arrayBuffer = SnappyJS.uncompress(data)
const jsonString = decoder.decode(arrayBuffer)
return JSON.parse(jsonString)
}
END