var fs = require('fs');
var jsp = require("uglify-js").parser;
var pro = require("uglify-js").uglify;
function jsMinifier(flieIn, fileOut) {
var flieIn=Array.isArray(flieIn)? flieIn : [flieIn];
var origCode,ast,finalCode='';
for(var i=0; i
origCode = fs.readFileSync(flieIn[i], 'utf8');
ast = jsp.parse(origCode);
ast = pro.ast_mangle(ast);
ast= pro.ast_squeeze(ast);
finalCode +=';'+ pro.gen_code(ast);
}
fs.writeFileSync(fileOut, finalCode, 'utf8');
}
//jsMinifier('./file-src/test2.js', './file-smin/test-min.js'); //单个文件压缩
jsMinifier(['./file-src/test.js','./file-src/test2.js'], './file-smin/test-min.js'); //合并压缩
var cleanCSS = require('clean-css');
function cssMinifier(flieIn, fileOut) {
var flieIn=Array.isArray(flieIn)? flieIn : [flieIn];
var origCode,finalCode='';
for(var i=0; i
origCode = fs.readFileSync(flieIn[i], 'utf8');
finalCode += cleanCSS.process(origCode);
}
fs.writeFileSync(fileOut, finalCode, 'utf8');
}
//cssMinifier('./file-src/indexw_20120913.css', './file-smin/index.css'); //单个文件压缩
cssMinifier(['./file-src/index_20120913.css','./file-src/indexw_20120913.css'], './file-smin/index.css');
//图片
var imgMinifier = require('node-smushit');
//imgMinifier.smushit('./file-src/images', {recursive: true}); //递归
imgMinifier.smushit('./file-src/images');
使用示例:如果压缩js直接在命令行使用命令即可
uglifyjs jquery-2.1.3.min.js bootstrap.min.js jquery.goup.min.js jquery.scrollLoading-min.js ./kindeditor/plugins/code/prettify.js -o min.js
最后多个js会被压缩成一个min.js
如果压缩css,则需要编写上面的脚本,命名为cssmin.js
然后利用node命令在命令行中运行
node cssmin.js
最后多个css会被压缩成一个index.css