用tinypng压缩图片

复制代码
const tinify = require("tinify");
tinify.key = "本人的appkey";


const fs=require('fs');
const glob=require('glob');
const mkdir=require('./utils/mkdir');

const srcDir='./src/';
//被搜索的资源
let sourceFileArr=glob.sync(srcDir+'**/*.+(png|jpg|jpeg)');


sourceFileArr.forEach(function (path1,i) {
    const path2=path1.replace(srcDir,'./dist/')
    mkdir(path2)
    if(fs.existsSync(path2)&&fs.existsSync(path1)){
        const buffer1=fs.readFileSync(path1);
        const buffer2=fs.readFileSync(path2);

        if(!Buffer.compare(buffer1,buffer2)){
            console.log(path1)
        }
    }else{
        console.log(path1)
        build(path1,path2)
    }


});

function build(path1,path2){
    tinify.fromFile(path1).toFile(path2);
}
复制代码

 

posted @   无工时代  阅读(658)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)
点击右上角即可分享
微信分享提示