搭建
- 下载
../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");
});