Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js 利用JSZIP 压缩文件、文件夹,以及解压压缩文件中的文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、使用JSZIP包来 打包文件或者文件

1. node.js安装 jszip(已安装跳过)

npm install jszip

2.编写 jszip打包代码

 1 let fs = require("fs");//获取文件系统模块,负责读写文件
 2 let path = require("path");//工具模块,处理文件路径的小工具
 3 let JSZIP = require("jszip");
 4 let zip = new JSZIP();
 5 
 6 //读取目录及文件
 7 function readDir(obj,NowPath) {
 8     let files = fs.readdirSync(NowPath);//读取目录中的所有文件文件夹(同步操作)
 9     files.forEach(function (filename,indeX) {//遍历检测目录中的文件
10         console.log(filename,indeX);//打印当前读取的文件
11         let fillPath = NowPath + "/" + filename;
12         let file = fs.statSync(fillPath);//获取一个文件属性
13         if (file.isDirectory()) {//如果是目录的话,继续查询
14             let dirlist = zip.folder(fileName);//压缩对象中生成该目录
15             readDir(dirlist,fillPath);//重新检索目录文件
16         } else {
17             obj.file(filename,fs.readFileSync(fillPath));//压缩目录添加文件
18         }
19     });
20 }
21 
22 //开始压缩文件
23 function startZIP() {
24     var currPath = __dirname;//文件绝对路径 当前当前js所在的绝对路径
25     var targetDir = path.join(currPath,"JsonMerge");
26     readDir(zip,targetDir);
27     zip.generateAsync({//设置压缩格式,开始打包
28         type: "nodebuffer",//nodejs用
29         compression: "DEFLATE",//压缩算法
30         compressionOptions: {//压缩级别
31             level: 9
32         }
33     }).then(function (content) {
34         fs.writeFileSync(currPath + "/result.zip",content,"utf-8");//将打包的内容写入 当前目录下的 result.zip中
35     });
36 }
37 
38 startZIP();

3. H5游戏客户端白鹭引擎利用jszip 解压@L_450_30@ 

REs.getResByUrl(configURL,function (data) {
    let txt = new JSZIP(data).file("a.json").asText();
    let jsonObj = JSON.parse(txt);//转化为json对象
    //将配置信息存储便于运用
},this,REs.resourceItem.TYPE_BIN);

要使用jszip,首先下载jszip第三方库,下载地址,Egret官方在github上放的:https://github.com/egret-labs/egret-game-library 

将jszip放在项目目录下,放在哪你自选,只要配置中添加路径时正确就行了(下图中放在了 lib目录下)。

然后在Egret中引用第三方库,项目目录下egretProperties.json文件添加

{
  "ENGIneVersion": "5.2.12","compilerVersion": "5.2.12","template": {},"target": {
    "current": "web"
  },"urlParams": {},"modules": [
    {
      "name": "egret"
    },{
      "name": "assetsmanager"
    },{
      "name": "tween"
    },{
      "name": "game"
    },{
      "name": "socket"
    },{
      "name": "promise"
    },{
      "name": "dragonBones"
    },{
      "name": "jszip","path": "./libs/jszip"
    }
  ]
}

大佬总结

以上是大佬教程为你收集整理的node.js 利用JSZIP 压缩文件、文件夹,以及解压压缩文件中的文件全部内容,希望文章能够帮你解决node.js 利用JSZIP 压缩文件、文件夹,以及解压压缩文件中的文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。