HonorLee 4 years ago
parent
commit
164eb2a87c
1 changed files with 13 additions and 9 deletions
  1. 13 9
      ImageMinify.js

+ 13 - 9
ImageMinify.js

@@ -11,7 +11,7 @@ var ProgressBar  = require('progress');
 
 
 program
-.option('-r, --removeOrigin', 'Auto remove origin image when jobs done')
+.option('-r, --removeOrigin', 'Auto remove origin file when jobs done')
 .option('-s, --silence', 'Run in background')
 .option('-q, --quality <quality>', 'Output image quality.Default is 85')
 .option('-e, --ext <ext>', 'Output file extension.Support jpg,png,auto.Default is auto')
@@ -85,9 +85,9 @@ function analysisFolder(readPath){
         let fileStat = fs.statSync(filePath);
         if(fileStat.isFile()){
             let ext = path.extname(fileName);
-            if(ext.match(/jpg|jpeg|png|gif|bmp|raw/gi)){
-                ImageList.push(filePath);
-            }
+            // if(ext.match(/jpg|jpeg|png|gif|bmp|raw/gi)){
+            ImageList.push(filePath);
+            // }
         }else{
             if(exceptFolder[path.parse(filePath).name]) continue;
             analysisFolder(filePath);
@@ -168,11 +168,11 @@ function minify(){
 
     fs.mkdirpSync(outputDir);
 
-    if(exceptExt[imgExt]){
-        if(Config.removeOrigin){
-            fs.moveSync(image,`${outputDir}/${fileName}.${imgExt}`);
+    if(exceptExt[imgExt] || !imgExt.match(/jpg|jpeg|png|gif|bmp|raw/gi)){
+        if(program.removeOrigin){
+            fs.moveSync(image,`${outputDir}/${fileName}.${imgExt}`,{overwrite:true});
         }else{
-            fs.copySync(image,`${outputDir}/${fileName}.${imgExt}`);
+            fs.copySync(image,`${outputDir}/${fileName}.${imgExt}`,{overwrite:true});
         }
         if(!program.silence) processBar.total--;
         workerCount--;
@@ -185,7 +185,11 @@ function minify(){
             // console.log(err,stdout,stderr)
             failureList.push(image);
         }else{
-            if(program.removeOrigin) fs.removeSync(image);
+            if(program.removeOrigin){
+                try{
+                    fs.removeSync(image);
+                }catch(e){}
+            }
         }
         if(!program.silence) processBar.tick(1,{'image':`${subDir}/${fileName}.${imgExt}`});