dir-js-minify
Version:
合并压缩目录中js文件
55 lines (45 loc) • 1.18 kB
JavaScript
;
var UglifyJS = require("uglify-js2");
const fs = require("fs");
const path = require("path");
var optimist = require("optimist");
var ARGS = optimist
.usage("yarn dir-minify -- --o=output --d=2")
.demand(['o','d'])
.argv;
var baseDir =ARGS.d;
var outputjs = ARGS.o;
/**
* 获取需要被处理的文件
* @param $baseDir
*/
function getNeedMinifyFiles($baseDir) {
var baseDirFiles = fs.readdirSync(baseDir);
var file ;
var jsFiles = [];
var key;
for(key in baseDirFiles ){
file = baseDirFiles[key];
if(file.indexOf(".js") == (file.length - 3)){
if(file != 'release.js' && file != 'application.js'){
jsFiles.push(baseDir +"/" +file);
}
}
}
return jsFiles;
}
var jsFiles = getNeedMinifyFiles(baseDir);
if(jsFiles.length<=0){
throw new Error("没有需要压缩的js代码!");
}
var result = UglifyJS.minify(jsFiles, {warnings: false});
if(result){
fs.open(outputjs,"w",(err,fd) =>{
if(err){
console.log(err.toString());
return;
}
fs.write(fd,result.code);
})
}