在没有Node.js的javascript中使用lz4压缩

我正在尝试让LZ4解压缩在纯JavaScript中工作在客户端。

我find了这个JavaScript库,但它的目的是与Node.js一起使用。 在同一个版本库中,我发现了一个理论上可以在浏览器中使用的库 。 问题是,这样的库期待仍然Node.js缓冲区,我再也没有,因为我没有使用Node.js,所有这一切都发生在客户端(我logging了一个错误在这里试图获得一些指针如何使用它)。

然后我寻找一个Node.js缓冲区的移植,我发现这个库 。 问题是,当我使用它,我得到这个错误在Chrome和Firefox:

TypeError: this is not a typed array

我为此logging了这个错误报告。 我觉得把这两个库合并起来,我不是很难在纯JavaScript中实现lz4解压缩,但是从来没有用过ArrayBuffer,Uint8Array和Node.js,我正在努力把这些点连接起来。

我的问题:有没有人成功地设法解压纯JavaScript的LZ4? 任何build议或指针? 提前致谢。

我会提供一个IDEA而不是一个解决scheme,你可以试试这个仓库

https://code.google.com/p/lz4/

它有一个纯粹的C实现LZ4

你可以用clang编译成llvm位码

当你有这个,你使用这个https://github.com/kripken/emscripten

将JavaScript从llvm位代码中取出

它像C到JavaScript编译,它可能听起来很疯狂,但如果你看看他们已经取得了什么…我不知道它可以实际工作。

看看这里他们移植了很多东西到JavaScript的这个工具,例如这个: https : //github.com/kripken/lzma.js