+
95
-

回答


进网站( https://tinypng.com)后先点击 developer api ,这里提供几种方式安装,我们选择node.js 方式安装 :

npm install --save tinify

这里需要取得api_key,因为网站上有相关如何获取api这里就不介绍如果和获取api_key

新建一个tini的文件夹,里面新建tini.js,代码如下:

var fs = require("fs")   //node文件模块
var paths = require("path") //文件路径

var root = paths.join(__dirname+'/daizhuanhuan')//daizhuanhuan文件夹放入你要压缩的图像

const tinify = require("tinify"); //获取tinify模块

tinify.key = "你的API_KEY"; //设置你的api_key


readDirSync(root)

function readDirSync(path){
var pa = fs.readdirSync(path);
pa.forEach(function(ele,index){ //遍历daizhuanhuan整个文件夹
var info = fs.statSync(path+"/"+ele)
if(info.isDirectory()){

console.log("dir: "+ele)
readDirSync(path+"/"+ele);
if (!fs.existsSync("./zhuanhou/"+ele)) { //在转换后的文件夹里新建一样的
fs.mkdirSync("./zhuanhou/"+ele);
}
}else{

var io = paths.resolve(path+"/"+ele, '..')
console.log(io.replace("daizhuanhuan","zhuanhou")+"/"+ele)
console.log("file: "+ele)
console.log(path+"/"+ele)

const source = tinify.fromFile(path+"/"+ele); //遍历上传图像文件
source.toFile(io.replace("daizhuanhuan","zhuanhou")+"/"+ele); //压缩后文件

}
})
}



再在tini文件夹下新建daizhuanhuan文件夹放置你要压缩的图像文件,也可以将整个资源文件夹放入,但是资源文件里只能包含png或jpg文件,切记。再新建一个名zhuanhou文件夹,终端tini文件夹执行

node tini.js

这样会在zhuanhou文件夹下生成和daizhuanhuan后一模一样的资源文件夹路径

网友回复

我知道答案,我要回答