搭建
- 下载../libsrc/bin/jszip 文件夹
- URL:https://github.com/egret-labs/egret-game-library/tree/master/jszip/libsrc/bin/jszip
- 编辑egretProperties.json 文件:
- { "name": "jszip", "path": "./libs/jszip" }
- 命令编译:egret build -e
- 运行项目:egret run -a
使用
- 在 Egret 项目中,发布的时候可以使用 压缩插件 将资源(图片,配置文件等)压缩成一个 .zip 文件,然后使用JSZip读取 .zip 文件的内容。
准备
- 创建文件将文件打包放到resource/default.res.json 文件中
使用res获取到zip文件

RES.getResAsync("demo_zip").then((data) => {
    console.log(data);
    // 解压,读取
    JSZip.loadAsync(data).then((zipdata) => {
        console.log(zipdata);
        return zipdata.file("Lee.json").async("text");
    }).then(text => {
        console.log(text);
    });
});加载图片

RES.getResAsync("demo_zip").then((data) => {
    // 解压,读取
    JSZip.loadAsync(data).then((zipdata) => {
        // 把数据解析为base64
        return zipdata.file("img/01.png").async("base64");
    }).then(base64 => {
        base64 = "data:image/png;base64," + base64;
        const img: eui.Image = new eui.Image();
        img.source = base64;
        this.addChild(img);
        img.width = img.height = 100;
    });
});生成zip文件 保存到本地

const zip = new JSZip();
zip.file("Hello.txt", "Hello World\n");
// 创建images文件夹
const img = zip.folder("images");
// 二进制数据
const imgData = "R0lGODdhBQAFAIACAAAAAP/eACwAAAAABQAFAAACCIwPkWerClIBADs=";
img.file("smile.gif", imgData, { base64: true });
zip.generateAsync({ type: "blob" }).then((blob) => {
saveAs(blob, "example.zip");
});
                









