解脱
取取并取出档案. 此软件包已编译 libarchive 入为原型并提供支持: tar, bzip2, zstd, zlib, zip, ustar, pax, v7, gnutar, cpio, mtree.
注:为了增加另一种归档格式的支持,
libarchive应当重新编译为--with-[name-archive-lib]进入这里 免费食谱 然后运行yarn run build在这个项目中, 做新的无包装.js和无包装。 原子弹文件.
使用
这个软件包有两种方法:
- extract(url) - 通过url下载一个归档并返回所取数据作为代表文件结构的对象:
{
"file1": Uint8Array
"info/paths.json": Uint8Array,
...
}
- exctractData(data) - 接受Uint8Array归档数据,并以相同格式返回所提取的数据
extract方法确实如此.
使用实例:
import { initUntarJS } from "@emscripten-forge/untarjs";
const untarjs = await initUntarJS();
const condaPackageUrl = 'https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2';
untarjs.extract(condaPackageUrl).then((files)=>{
console.log(files);
});
注:如果在使用Webpack的项目中使用了这个软件包,则使用Webpack. 配置应包括下一个 :
resolve: { fallback: { "path": require.resolve("path-browserify"), "crypto": require.resolve("crypto-browserify"), "stream": require.resolve("stream-browserify"), "buffer": require.resolve("buffer/"), "process": require.resolve("process/browser"), "assert": require.resolve("assert/"), "http": require.resolve("stream-http"), "https": require.resolve("https-browserify"), "os": require.resolve("os-browserify/browser"), "url": require.resolve("url/"), "fs": require.resolve("browserify-fs"), "vm": require.resolve("vm-browserify") } },