• node解压压缩包以及压缩图片


    node解压压缩包以及压缩图片

    首先保证电脑安装node环境,下载地址:http://nodejs.cn

    //可以打开一个dos窗口输入node -v进行确认是否安装成功
    C: > node -v
        > v10.*
    

      

    然后就是安装解压压缩包的第三方插件 和 tinypng的插件

    npm install compressing //解压压缩包的第三方插件
    npm isntall tinify //解压图片的压缩

    如何使用?

    解压压缩包,这里以解压tgz格式的压缩包为例,compressing的API:https://www.npmjs.com/package/compressing

    var compressing = require("compressing")
    let nowFilePath = "01.tgz" //当前目录下解压的文件名 let positionFilePath = "01"//需要解压到当前目录下的目录名 compressing.tgz.uncompress(nowFilePath, positionFilePath) .then(() => { console.log(nowFilePath + "解压完成") }) .catch(err => { console.log("解压失败:"+err); })

    使用递归的方法去解压多个压缩包

    //定义一个函数
    function decompressionFiles(files,length){
    if(length==0){ 
    //在这里我们确定压缩包全部解压后可以操作的事情
    return console.log("没有找到压缩包,或压缩已完成!")
    }
    let positionFilePath=files.replace(".tgz","") 
    compressing.tgz.uncompress(files[length-1], positionFilePath)
    .then(() => {
    console.log(nowFilePath + "解压完成")
    decompressionFiles(files,length-1)
    })
    .catch(err => {
    console.log("解压失败:"+err);
    })
    }
    
    var fileArray=["01.tgz","02.tgz","03.tgz","04.tgz"] //在这里假设是当前目录下的01.tgz等压缩包
    
    //在这里我们只需调用函数即可
    decompressionFiles(fileArray,fileArray.length)
    

    博主还写了一个windows本地压缩图片的工具,windows可执行文件,点击运行,根据指令批量压缩图片。

    码云下载地址:https://gitee.com/kong_yiji_and_lavmi/imagemin

     压缩图片[tinify的API](https://www.npmjs.com/package/tinify)(熊猫压缩)[申请key](https://tinypng.com/developers)

    var tinify = require("tinify");
    var path= require("path");
    tinify.key = "YOU.RAPI.KEY"; //这里需要填写你在熊猫注册的key,只需要一个邮箱即可
    let nowFilePath = path.join(dirname,"01.jpg") //假设是当前目录下的01.jpg
    let filePositionPath = path.join(dirname,"image","02.jpg") //把它解压到当前目录下的image文件夹里,并命名为02.jpg
    tinify.fromFile(nowFilePath).toFile(filePositionPath)
    .then(()=>{
    console.log(nowFilePath + "解压完成")
    }).catch(err=>{
    console.log("解压失败:"+err);
    })
    //当然如果压缩多张图片也可以使用递归的方式去处理。如果图片数量多的话,压缩时间会有点慢,还有拓展的空间。
    

      

  • 相关阅读:
    在Delphi中使用内联变量(inline variables) 的5个理由
    一秒可生成500万ID的分布式自增ID算法—雪花算法 (Snowflake,Delphi 版)
    修改 Delphi 10.3.3 IDE 字体和字体大小
    Deleaker – 内存泄漏猎人(RAD Studio 的附加组件)
    如何同时读取 TDateTimePicker 的 Date 和 Time ?
    在DCEF3中使用较少的dll文件?
    在Vcl和FireMonkey应用程序中启用TXMLDocument 的XPath(selectNode,selectNodes)方法
    Android 开发—— 小工具,大效率
    深度调查“比特币敲诈者”背后藏大型僵尸网络
    腾讯安全反病毒实验室解读“Wannacry”勒索软件
  • 原文地址:https://www.cnblogs.com/kongyijilafumi/p/12814440.html
Copyright © 2020-2023  润新知