【分享】NODEJS 运用 UGLIFYJS 模块 做批量 JS 压缩
node初学者,轻喷。。。有啥好的意见,望指点。
原先挂在自己wiki上,后来比较喜欢这里的社区氛围来着,就拿过来了。原文地址
windows底下用uglifyjs批量压缩, 考虑到bat脚本实在不适合前端=。=,
用node写个批量压缩js的函数,方便、快速,分享之!
代码相对比较简单,一看就懂,直接贴代码:
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命令运行即可
3 回复
嗯,不错,多谢。不知道有没有能将node代码转成可执行文件的东东?
先收藏
@saighost 可以用这种方法来替代转exe:
xxx.js // 这个程序文件
node.exe // Node命令
run.cmd // 批处理文件,内容: node xxx.js %*
然后打包好,要安装在哪台电脑就解压到哪里,然后执行run.cmd就能运行了