1.安装nodejs
2.安装各自的node package
js我用的是UglifyJS github地址:https://github.com/mishoo/UglifyJS
css我用的是clean-css github地址:https://github.com/GoalSmashers/clean-css
图片用的是node-smushit github地址:https://github.com/colorhook/node-smushit
3.编写代码
//js 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<flieIn.length; 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'); //合并压缩 //css var cleanCSS = require('clean-css'); function cssMinifier(flieIn, fileOut) { var flieIn=Array.isArray(flieIn)? flieIn : [flieIn]; var origCode,finalCode=''; for(var i=0; i<flieIn.length; 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');
4、编译