不安装node、npm,直接使用uglify批量压缩js文件

原创 2014年05月20日 12:54:33

1、从node官网下载binary文件 http://nodejs.org/download/


2、再从uglify在git的主页下载zip压缩包 https://github.com/mishoo/UglifyJS

如下图:


3、从解压出的文件中拿出uglify-js.js和lib目录


4、再创建一个js文件,在里面使用uglify

代码如下:

修改第四行调用scanDir方法中的路径参数为要压缩的目标路径即可

var fs = require("fs");
var parser = require("./uglify-js").parser;
var uglify = require("./uglify-js").uglify;

scanDir("./js");

function scanDir(rootPath) {
	//读取目录
	fs.readdir(rootPath, function(dirErr, files){
		if( !dirErr ){
			files.forEach(function(fileName){
				//当前文件路径
				var tmpPath = rootPath + "/" + fileName;
				//获取文件状态
				fs.stat(tmpPath, function(statErr, stat){
					if( statErr ){
						console.log("stat error:" + statErr);
					}
					//是个目录
					else if( stat.isDirectory() ){
						scanDir(tmpPath);
					}
					else {
						//是js文件
						if(fileName.match(/([\.]+).js$/i)){
							compressFile(tmpPath);
						}
					}
				});
			});
		}
		else
			console.log("dir error");
	})
}
function compressFile(path){
	buildOne(path,path);
}
function buildOne(flieIn, fileOut) {
	var origCode = fs.readFileSync(flieIn, 'utf8');
	var ast = parser.parse(origCode); 
	ast = uglify.ast_mangle(ast); 
	ast = uglify.ast_squeeze(ast);
	var finalCode = uglify.gen_code(ast);
	console.log("compressed:" + fileOut);
	fs.writeFileSync(fileOut, finalCode, 'utf8');
}


5、用node运行这个js文件,就能把指定目录下的全部js压缩了。

注意:因为代码中是压缩结果直接覆盖原文件了,所以压缩前最好把整个目录复制一份出来压缩。)


基于node的uglifyjs压缩JS

首先安装nodejs(windows下安装nodejs) 1.下载安装文件 下载地址:官网http://www.nodejs.org/download/ 2.安装文件 3...
  • ywj5200
  • ywj5200
  • 2016-12-29 15:59:21
  • 2561

node.js 压缩混淆js代码

参考:http://www.ydcss.com/archives/18 http://www.open-open.com/lib/view/open1446008460804.html htt...
  • dream_ll
  • dream_ll
  • 2016-10-20 16:40:55
  • 1450

使用gulp-uglify压缩js文件

1、全局安装gulp npm install -g gulp 2、项目下安装gulp和gulp-uglify cmd切换到项目目录,执行npm install gulp和npm install ...
  • kongjunchao159
  • kongjunchao159
  • 2016-07-08 16:01:02
  • 4939

js压缩工具uglify-js--nodejs常用模块(3)

模块介绍 uglify-js是主流的js合并压缩工具,jquery现在用的就是这个工具。支持功能有:文件的合并,生产map文件,去注释去空格,混淆压缩缺点:这个工具只针对js,至少官方没有说明支...
  • larrywangsun
  • larrywangsun
  • 2014-06-02 10:16:18
  • 2265

Grunt插件之uglify--js代码压缩与合并

平时在开发项目的时候,都是在本地测试,加载代码都是走localhost,页面刷新基本是秒出,所以没有考虑js文件的大小。最近项目上线,部署到了服务器上之后,测试的时候发现加载速度特别慢,一查看网络,发...
  • u011135260
  • u011135260
  • 2016-08-26 12:28:56
  • 1968

使用node<em>js</em>插件<em>UglifyJS</em>2<em>压缩js</em>文件

使用nodejs插件<em>UglifyJS</em>2<em>压缩js</em>文件 综合评分:0 收藏评论举报 所需: 3积分/C币 下载个数: 4 开通VIP 立即下载 评论共有0条 nodejs进行js代码<em>批量压缩</em> 基于...
  • 2018年04月18日 00:00

<em>JS</em>、CSS<em>批量压缩</em>、混淆、美化、格式化工具

js<em>批量压缩</em>工具 时间:2018-4-11js/css批量加解密/格式化工具 时间:2018-4-5 CSS格式化工具 时间:2018-4-4 <em>uglify js</em>混淆 时间:2018-4-9js...
  • 2018年04月16日 00:00

uglifyjs的使用(对js的压缩混淆)

一、安装nodejs 转自http://www.cnblogs.com/snandy/archive/2012/03/03/2377380.html 首先,去http://nodejs.org 下...
  • juan0728juan
  • juan0728juan
  • 2016-09-22 18:31:57
  • 2066

node下使用UglifyJS压缩合并JS文件

现在UglifyJS的最新版本为 2.8.13,主要功能为JS的压缩和合并,下面直接进入教程: 安装: npm install uglify-js -g 将uglifyjs安装为全局变量,方便我...
  • itKingOne
  • itKingOne
  • 2017-03-17 14:12:36
  • 1352

不安装node、npm,直接使用uglify批量压缩js文件

var fs = require("fs"); var jsp = require("./uglify-js").parser; var pro = require("./uglify-js").ug...
  • u014332097
  • u014332097
  • 2014-05-20 12:54:33
  • 1406
收藏助手
不良信息举报
您举报文章:不安装node、npm,直接使用uglify批量压缩js文件
举报原因:
原因补充:

(最多只允许输入30个字)