使用UglifyJS合并/压缩JavaScript的方法
时间:2024-05-03 15:57:29
build.js中的代码会去调用UglifyJS的接口函数以执行压缩任务。
1,去github下载最新的UglifyJS。两种方式下载,如果安装了git,进入git控制台使用如下命令
git clone git://github.com/mishoo/UglifyJS.git
或者使用http方式下载,点击zip下载。解压后其目录结构如下
2,新建一个项目(文件夹)myApp,将uglify-js.js和lib目录拷贝到自己的项目中。如下
3,在myApp中新建一个compress.js,内容如下
var fs = require('fs');
var jsp = require("./uglify-js").parser;
var pro = require("./uglify-js").uglify;
var origCode = "var abc = function(){ var one = 5; return one;}";
var ast = jsp.parse(origCode); // parse code and get the initial AST
ast = pro.ast_mangle(ast); // get a new AST with mangled names
ast = pro.ast_squeeze(ast); // get an AST with compression optimizations
var finalCode = pro.gen_code(ast); // compressed code here
console.log(finalCode);
这段代码的大概意思是取fs模块,它是node的文件模块。 接着取UglifyJS的两个模块。后面就是UglifyJS的压缩流程了。
4,打开命令行,执行compress.js
控制台输出了压缩后的代码。好了,就这么简单。
5,既然在node环境下,当然可以写一个函数直接读取源文件,压缩后输出到指定的目录。将以上代码封装到一个函数中,如下
// 读取一个文件,压缩之
function buildOne(flieIn, fileOut) {
var origCode = fs.readFileSync(flieIn, 'utf8');
var ast = jsp.parse(origCode);
ast = pro.ast_mangle(ast);
ast = pro.ast_squeeze(ast);
var finalCode = pro.gen_code(ast);
fs.writeFileSync(fileOut, finalCode, 'utf8');
}
将我写的ajax-1.0.js压缩,输出到myApp目录中
buildOne('ajax-1.0.js', 'ajax-min.js');
示例代码UglifyJS_test
标签:UglifyJS,合并,压缩
0
投稿
猜你喜欢
图片自适应宽度新解决方法
2009-09-22 14:55:00
python实现查询IP地址所在地
2021-09-08 17:18:43
python调用动态链接库的基本过程详解
2023-05-31 13:24:00
python初学者,用python实现基本的学生管理系统(python3)代码实例
2023-07-01 11:40:01
SQL左连接和右连接原理及实例解析
2024-01-21 20:35:39
golang与pgsql交互的实现
2024-05-25 15:11:52
Mysql的基础使用之MariaDB安装方法详解
2024-01-14 15:03:46
优化次数过多的循环
2009-11-12 12:35:00
将ASP纪录集输出成n列表格的方法
2008-03-19 13:27:00
Python中的单行、多行、中文注释方法
2022-03-21 21:56:38
python apscheduler cron定时任务触发接口自动化巡检过程
2023-01-04 19:52:50
python实现巡检系统(solaris)示例
2022-03-01 20:32:11
Python初识二叉树续之实战binarytree
2021-04-05 22:22:51
Golang 错误捕获Panic与Recover的使用
2024-02-07 20:15:42
Python使用Crypto库实现加密解密的示例详解
2021-11-10 05:53:10
golang语言map全方位介绍
2024-05-22 10:20:33
一文带你梳理Python的中级知识
2022-03-13 14:36:29
Python 确定多项式拟合/回归的阶数实例
2023-08-26 23:54:58
不到20行代码用Python做一个智能聊天机器人
2021-07-21 08:43:40
PHP中的traits实现代码复用使用实例
2023-11-22 04:27:55