登录
注册
node.js 学习社区
NODEJS 运用 UGLIFYJS 模块 做批量 JS 压缩

小猪

2014-12-09 04:23

node初学者,轻喷。。。有啥好的意见,望指点。

windows底下用uglifyjs批量压缩, 考虑到bat脚本实在不适合前端=。=,

用node写个批量压缩js的函数,方便、快速,分享之!

uglifyjs在这

代码相对比较简单,一看就懂,直接贴代码:

var fs  = require('fs'); 
var jsp = require("./uglify-js").parser;
var pro = require("./uglify-js").uglify;
// 批量读取文件,压缩之
    function buildOne(fileIn, fileOut) {
        if (fileIn.length > 0) {
            var finalCode = [];
            var origCode = '';
            var ast = '';
            for (var i = 0,len = fileIn.length; i < len; i++) {
                origCode = fs.readFileSync(fileIn[i], 'utf8');
                ast = jsp.parse(origCode); 
                ast = pro.ast_mangle(ast); 
                ast = pro.ast_squeeze(ast);
                finalCode.push(pro.gen_code(ast), ';');
            };
        }
        fs.writeFileSync(fileOut, finalCode.join(''), 'utf8');
    }
    //批量的话写多个一起执行即可
    buildOne(['../lib/slides.jquery.js', '../tpl/header_notice.tpl.js'], '../compile/home.min.js');

保存成compile.js, 直接node命令运行即可

完整代码在这

原文引自:http://cnodejs.org/topic/505b147ffd37ea6b2f1ce13d

回复 · 0

发表回复

你可以在回复中 @ 其他人