brotli-wasm 使用指南

brotli-wasm 使用指南

brotli-wasm A reliable compressor and decompressor for Brotli, supporting node & browsers via wasm brotli-wasm 项目地址: https://gitcode.com/gh_mirrors/br/brotli-wasm

Brotli-wasm 是一个高效且兼容性强的 Brotli 压缩与解压缩库,特别设计用于支持 Node.js 环境(版本12及以上)以及所有现代浏览器。通过 WebAssembly(WASM)技术实现,确保了在不同平台上的高性能表现。本指南旨在提供全面的安装步骤、基本使用方法、API文档以及特定场景下的应用示例。

安装指南

在您的Node.js项目中,可以通过NPM轻松安装brotli-wasm:

npm install brotli-wasm

对于Web环境,可以利用CDN直接加载:

const brotli = await import("https://unpkg.com/brotli-wasm@3.0.0/index.web.js?module").then(m => m.default);

或者,在具备ES模块支持的构建系统中(如Webpack、Vite或Rollup),使用标准的导入语句:

import brotliPromise from 'brotli-wasm';

注意:由于浏览器需要异步加载WASM文件,上述导入应被包含在一个async函数中。

项目的使用说明

在Node.js中的基础使用

不需要等待Promise解析,可以直接使用默认导出的功能:

const brotli = require('brotli-wasm');

let input = Buffer.from('这是测试文本');
let compressed = brotli.compress(input);
let decompressed = brotli.decompress(compressed);
console.log(decompressed.toString()); // 输出: 这是测试文本

浏览器环境的使用

由于WASM的特性,必须使用异步加载,并且推荐使用TextEncoder/TextDecoder处理字符串和缓冲区之间的转换:

import brotliPromise from 'brotli-wasm';

(async () => {
    const brotli = await brotliPromise;
    
    let input = '这是测试文本';
    let encodedInput = new TextEncoder().encode(input);
    let compressed = brotli.compress(encodedInput);
    let decompressed = brotli.decompress(compressed);
    console.log(new TextDecoder().decode(decompressed)); // 输出: 这是测试文本
})();

项目API使用文档

  • compress(data: Buffer, [options]): Buffer 压缩给定的Buffer数据。options对象可选,目前仅支持quality选项(范围1到11)。

  • decompress(data: Buffer): Buffer 解压缩给定的Buffer数据。

此外,还提供了高级流处理接口:

  • CompressStream
  • DecompressStream 用于支持数据流的压缩与解压缩,具体使用可参考项目中的测试案例。

项目安装方式(重申)

  • 对于Node.js项目,运行命令npm install brotli-wasm
  • Web项目中,可采用import语句结合CDN或者通过NPM包管理后配置importmap来实现。

以上就是对brotli-wasm的详细介绍,它简化了在JavaScript环境中使用Brotli压缩和解压缩的流程,无论是服务端还是客户端都能得到一致而高效的体验。

brotli-wasm A reliable compressor and decompressor for Brotli, supporting node & browsers via wasm brotli-wasm 项目地址: https://gitcode.com/gh_mirrors/br/brotli-wasm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尚建民Maxwell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值