偶然的机会在老赵的博客上(http://blog.zhaojie.me/tag/UglifyJS/)看到了这篇文章,看到jQuery 1.5的压缩工具由google Closure Compiler 改为UglifyJS。感到了非常惊讶,google大佬也有挨打的时候,有此推荐国外科技发展的氛围。不像国内动不动专家。。。。我见到的专家都是政客的傀儡。。。也许因为我是小菜,呵呵呵。。。。

下面说说的我的劳动成果。

UglifyJS在他的官网上下载的 mishoo-UglifyJS-v1.0.1-3-g0fa93d2.zip不能在windows下执行,那是在linux下执行。有此感到很郁闷都说好自己不能亲自试试,于是就在google上查找他的资料。

终于找到了可以使用java执行的UglifyJS的库。

https://github.com/yuanyan/UglifyJS-java上下载了yuanyan-UglifyJS-java-c530baf.zip解压后发现里面根本没有他的ReadMe里面所说的UglifyJS-java.jar文件,但是他给了所有的java的源文件。

不知道为什么?因为有很多不用java开发也用jQuery开始程序的兄弟们编译起来很费劲,我编译了一个请各位小菜们使用,UglifyJS-java原作者不要有什么想法,假如有请通知我,我会在我的资源中删除。

UglifyJS.jar 下载地址我的资源中查找或者下面的地址

http://download.csdn.net/source/3173876

注意:UglifyJS-java必须运行在jre 1.6以上

下面是UglifyJS的使用选项 下面的内容摘自网上,

非常感谢作者http://www.tanbo.name/a/js_jquery/20110330/118.html

uglifyjs [ 选项... ] [ 文件 ]

文件参数应该放在选项后面,uglifyjs 会读取文件中的javascript代码进行处理。

如果你不指定输出的文件名,那么他会把处理后的内容输出到命令行中。

例: uglifyjs 1.js 2.js 会创建一个 2.js 文件把 1.js处理完毕的内容输入到这里

例: uglifyjs 1.js 会读取1.js内容,并把结果输出到命令行中。

支持的选项:

-b or --beautify — 参数 -b 或者 --beautify 用于美化(格式化)代码。美化之前会压缩代码(未验证。)

-i N or --indent N — 缩进级别空格数

例:uglifyjs -b 1.js 2.js 会把1.js的内容格式后输出到2.js

-q or --quote-keys — quote keys in literal objects (by default, only keys that cannot be identifier names will be quotes).

-nm or --no-mangle — 变量名不缩短,意味着不会把代码的变量名缩短为 abcdefg

-ns or --no-squeeze — 不使用ast_squeeze()(可以使各种优化之后的代码更小,更具有可读性。)

-mt or --mangle-toplevel — mangle names in the toplevel scope too (by default we don’t do this).

--no-seqs — 当ast_squeeze()被调用的时候(除非你添加了--no-squeeze 参数才不会被调用)它将减少在一个代码块中重复声明的行。例如:“a = 10; b = 20; foo();”将被重写为“a=10,b=20,foo();”。在各种场合,这将允许我们丢弃代码块中的括号(在一些语句块变成一个独立的声明行之后)。这是默认的,因为经我们测试,它似乎更安全并且能节省几百bytes,但加上--no-seqs 后将被禁止。

--no-dead-code — 默认情况下,UglifyJS将会删除代码中明显无法访问的语句(如 return , throw , break 或者continue语句 ,以及一些不是函数/变量的的声明)。通过这个选项可以禁用掉这个优化功能。

-nc or --no-copyright — 默认情况下,uglifyjs将在生成的代码中保留初始的一些标记(假设版权信息等)。如果你设置这个参数将被禁止。

-o filename or --output filename — 将结果输出到一个指定文件名的文件中。如果没有这个参数,结果将会被输出到命令行

-

-overwrite — 如果代码是从一个文件中读取的(不是直接标准输入的)并且使用了--overwrite参数,那么结果也将会被写进相同的文件中去。

--ast — pass this if you want to get the Abstract Syntax Tree instead of JavaScript as output. Useful for debugging or learning more about the internals.

--ast — pass 如果你要获取一个用来取代javascript输出的抽象语法树,这些参数会在你进行调试或学习内部组件时很有用。

-v or --verbose — output some notes on STDERR (for now just how long each operation takes).

-v or --verbose — output 一些标准错误提示(显示每一次花费多久)

--extra — enable additional optimizations that have not yet been extensively tested. These might, or might not, break your code. If you find a bug using this option, please report a test case.

当你发现BUG时你可以增加一个中断点用来对还没有彻底的测试的代码进行优化,你可以使用这个选项来生成一个测试用例。

--extra — enable

--unsafe — enable other additional optimizations that are known to be unsafe in some contrived situations, but could still be generally useful. For now only this:

foo.toString() ==> foo+””

想foo.toString() 这种用法 也是可行的,但是存在一些人為的不安全的情况,这事也需要添加一些优化比如: foo+””

--max-line-len (default 32K characters) — add a newline after around 32K characters. I’ve seen both FF and Chrome croak when all the code was on a single line of around 670K. Pass –max-line-len 0 to disable this safety feature.

在超过大概32K字节的时候你要增加一行,我有发现过在火狐和chorme下档代码一行超过670K的时候它会发出报警声。通过–max-line-len 0 去静止这个安全属性

--reserved-names — some libraries rely on certain names to be used, as pointed out in issue #92 and #81, so this option allow you to exclude such names from the mangler. For example, to keep names require and $super intact you’d specify –reserved-names “require,$super”.

--reserved-names — 些类库会依赖于特定的名称去使用,比如:#92 和#81 所以这个选项允许你去排除一些关键字。

UglifyJS 新一代的Javascript压缩工具相关推荐

  1. 在线Javascript压缩工具

    在线Javascript压缩工具 在线Javascript压缩工具 在线 Javascript Minifier 去除了间距.缩进.换行,使其缩小.压缩.它减少了文件大小,也使 javascript ...

  2. 好用的 js 压缩工具 压缩软件 压缩程序 精简压缩 JsZIP(JavaScript压缩工具)

    好用的 js 压缩工具 压缩软件 压缩程序 JsZIP(JavaScript压缩工具) 名称:JsZIP(JavaScript压缩工具) 版本:2.0 特点:高压缩.汉字转汉.代码智能优化.采用微软提 ...

  3. JavaScript压缩工具JSA使用介绍

    JavaScript压缩工具JSA使用介绍 JSA绝对是我使用过的JS压缩工具中最上乘的一个.认识它是从ligerUI开始.在ligerUI的QQ讨论组里,大神--ligerUI的作者告诉我他的lig ...

  4. javascript 压缩工具

    最近使用javascript编写程序,用到javascript压缩工具在网上查找,压缩工具很多.最后选择了 google开源的 转自: http://www.phpblog.cn/archives/2 ...

  5. 细说新一代HTML5/JavaScript的UI控件wijmo5 的新架构

    Wijmo 5是一组JavaScript控件,但是不要与Widgets混淆.在此前开发Wijmo的时候,我们能够用像jQuery UI和jQuery Mobile Widget 框架来构建它,同时也为 ...

  6. uglifyjs php,使用UglifyJS合并/压缩JavaScript

    在UglifyJS入门中主要记录了UglifyJS的安装,配置.篇末在命令行中使用了一个简单命令来压缩一个JS文件.这篇以编程的方式去压缩JS文件.即写一个build.js文件,使用node命令执行该 ...

  7. javascript 压缩工具 esc.wsf

    压缩级别分为5种,从0到4 Level 0 :: No compression Level 1 :: Comment removal Level 2 :: Whitespace removal Lev ...

  8. JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法

    网上搜索了,目前主流的Js代码压缩工具主要有Uglify.YUI Compressor.Google Closure Compiler,简单试用了UglifyJS 和Google Closure Co ...

  9. CSS和JavaScript在线代码压缩工具推荐

    网页前端的JavaScript代码编写好之后,不像C语言会编译成机器码,作为脚本语言,JavaScript是直接从源码文件执行的.通常为了节省空间,可以把代码进行压缩,去掉多余的空格和换行等(代码可以 ...

最新文章

  1. Http之Get/Post请求区别
  2. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
  3. 安装mysql二进制文件_MySQL二进制文件规范安装
  4. 2021苏州大学计算机考研分数,苏州大学2021考研分数线已公布
  5. STM32F4 使用STLink 和 EventRecoder 调试运行时间
  6. “云联邦”构建连云成片、无缝混合的一朵云
  7. Spring boot 的profile功能如何实现多环境配置自动切换
  8. 如何在pe里加载阵列卡驱动_PE中RAID卡驱动的添加办法
  9. V4L2编程之USB摄像头采集jpeg图像
  10. 汽车软件系统常用简称
  11. Echarts源码修改
  12. 杭电数据结构课程实践-重言式判别
  13. python切片逆序_python 中倒序切片
  14. C++网站开发MVC框架TreeFrog Framework教程——7.ERB模板
  15. 基于simulink的AMT自动变速汽车换档智能控制
  16. python爬取高德地图数据_你的未来有我导航----教你如何爬取高德地图
  17. 如何给pdf添加水印?
  18. vue-devtools 各版本安装
  19. WebRTC的JitterBuffer笔记
  20. SpringBoot利用ZXing工具来生成二维码(简单)

热门文章

  1. python dataframe的某一列变为list_NumPy中的ndarray与Pandas的Series和DataFrame之间的区别与转换...
  2. anaconda清华源
  3. 车载环境下的噪声分析
  4. 校招面试真题 | 实习生和应届生有什么区别?
  5. c语言程序代码中的间隔,printf()函数输出后 默认的间隔是多少
  6. 南京师范计算机复试,考研复试 | 南京师范大学复试经验贴
  7. 新浪首页改版,您还去新浪看新闻吗?
  8. 最小二乘法进行曲线拟合
  9. Y combinator初创加速器2020冬季团队大赏——最好与最坏的时代
  10. dede实现手机wap浏览