在UglifyJS入门中主要记录了UglifyJS的安装,配置。篇末在命令行中使用了一个简单命令来压缩一个JS文件。这篇以编程的方式去压缩JS文件。即写一个build.js文件,使用node命令执行该文件。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');
这时将会在myApp目录中生成一个ajax-min.js。
- 大小: 20.9 KB
- 大小: 3.4 KB
- 大小: 1.2 KB
分享到:
相关推荐
在UglifyJS入门中主要记录了UglifyJS的安装,配置。篇末在命令行中使用了一个简单命令来压缩一个JS文件。这篇以编程的方式去压缩JS文件。即写一个build.js文件,使用node命令执行该文件
用UglifyJS解析/压缩/格式化你的Javascript UglifyJS是基于 NodeJS 的Javascript语法解析/压缩/格式化工具,它支持任何CommonJS模块系统的Javascript平台(实现自己的CommonJS平台也非难事)。 UglifyJS通过解析...
UglifyJS 一个JavaScript解析器,分解器,压缩器或美化工具包
jquery通过uglifyJS框架来压缩 只要java1.6以上的环境即可运行 已经帮忙写了bat文件,将想要压缩的js修改成example.js,复制到当前文件夹,双击run.bat即可...java版地址:https://github.com/yuanyan/UglifyJS-java
介绍使用 UglifyJS 压缩 JavaScript 文件。 基于 sbt-closure 插件。
使用javaScript增强交互效果,北大青鸟的课程,好好利用。易学习!
使用JavaScript增强交互效果总结 这是JavaScript的基础 在于你的灵活灵用
UglifyJS是用JavaScript编写的JavaScript压缩工具。 官网:http://lisperator.net/uglifyjs/ 1、通过NPM安装UglifyJS (1)安装Node.js 从Node.js官网https://nodejs.org/en/下载对应平台的安装程序,当前最新版本...
本程序碎玉压缩合并的功能俱全,但是整体及其轻量级,很容易更新、维护,二次开发。 本程序压缩后的大小大约为压缩前的 15% - 30% 左右(平均值)。推荐使用 YSlow 进行另外方面的优化。 如果您在使用中,发现任何 ...
3.合并和压缩js.bat 根据source将js进行合并到in目录,并输出到out目录 4.合并压缩css.bat 根据source将css进行合并到in目录,并输出到out目录 5.合并js.bat 只将source下数据合并到in目录 6.合并js.bat 只将in下...
本代码是《疯狂HTML 5/CSS 3/JavaScript讲义》一书的配书光盘中的code文件夹,书中的代码按章、按节存放,比如第3章第2节所使用的代码放在codes文件夹的03\2.2文件夹下,依此类推。 书中每份源代码也给出与光盘...
3、既支持文件列表批量(重命名/覆盖) 精简化,又支持javascript代码字符串(多文件拖放合并) 精简化; 4、支持JS输入/输出文件编码指定; 5、带有 “最小化js输出行数” 选项(通过检测行尾是否以 ;结束, 如果不是...
递归-uglifyjs 递归遍历目录,并丑化该目录及其子目录中包含的所有JavaScript文件。 安装 npm install -g recursive-uglifyjs 用法 recursive-uglifyjs ./a/directory/containing/js/files
前端开源库-node-minify-custom-fork节点小型定制fork,基于babili/yui压缩器/google闭包编译器/uglifyjs2/sqwish/clean css/csso的javascript/css小型化器
UglifyJS是用JavaScript编写JavaScript压缩器/压缩器。 它还包含允许自动处理 JavaScript 代码的工具。 从 JavaScript 代码生成抽象语法树 (AST) 的解析器。 代码生成器从AST输出JavaScript代码,还提供获取源映射的...
adhesive是一个简单的构建工具,使用UglifyJS来连接您JavaScript并使其成为一个不错的源地图。 我希望这对于简单的,面向前端的项目特别有用,特别是那些已经使用index.html的传统[removed]标记列表进行工作的项目...
UglifyJS是用JavaScript编写JavaScript压缩器/压缩器。 它还包含一些工具,使人们可以自动使用JavaScript代码。 解析器,可从JavaScript代码生成抽象语法树(AST)。 一个代码生成器,它从AST输出JavaScript代码,还...