美文网首页让前端飞
自制node小工具,批量压缩图片2018-09-21

自制node小工具,批量压缩图片2018-09-21

作者: littleyu | 来源:发表于2018-09-21 15:55 被阅读0次
    var fs = require('fs');
    var path = require('path');
    
    //解析需要遍历的文件夹,我这以E盘根目录为例
    var filePath = path.resolve('E:');
    const tinify = require('tinify')
    tinify.key = "qsrGnbEFHdYNsAdWQqTo92AX5cnonluf";
    
    
    //调用文件遍历方法
    fileDisplay(filePath);
    
    /**
     * 文件遍历方法
     * @param filePath 需要遍历的文件路径
     */
    function fileDisplay(filePath){
        //根据文件路径读取文件,返回文件列表
        fs.readdir(filePath,function(err,files){
            if(err){
                console.warn(err)
            }else{
                //遍历读取到的文件列表
                files.forEach(function(filename){
                    //获取当前文件的绝对路径
                    var filedir = path.join(filePath,filename);
                    //根据文件路径获取文件信息,返回一个fs.Stats对象
                    fs.stat(filedir,function(eror,stats){
                        if(eror){
                            console.warn('获取文件stats失败');
                        }else{
                            var isFile = stats.isFile();//是文件
                            var isDir = stats.isDirectory();//是文件夹
                            if(isFile){
                                console.log(filedir);
                                // 压缩图片
                                setTimeout(()=>{tinify.fromFile(filedir).toFile(filedir)});
                            }
                            if(isDir){
                                fileDisplay(filedir);//递归,如果是文件夹,就继续遍历该文件夹下面的文件
                            }
                        }
                    })
                });
            }
        });
    }
    
    

    相关文章

      网友评论

        本文标题:自制node小工具,批量压缩图片2018-09-21

        本文链接:https://www.haomeiwen.com/subject/aotznftx.html