UNPKG

dir-js-minify

Version:

合并压缩目录中js文件

55 lines (45 loc) 1.18 kB
#!/usr/bin/env node "use strict"; 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); }) }