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);
})
//當然如果壓縮多張圖片也可以使用遞歸的方式去處理。如果圖片數量多的話,壓縮時間會有點慢,還有拓展的空間。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM