`
喜马拉雅上的小草
  • 浏览: 48790 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript Compressed

 
阅读更多
JSA发布了新版本

1. 增加了对全局变量混淆的设置
2. 公开了部分API调用接口。
3. 方便于二次开发

在开发Javaeye3.0的过程中,我们也采用了JSA作为JS的压缩工具,它的效果和可靠性是目前同类开源工具中最好的。对JSA压缩过的脚本再开启服务端的GZip压缩,平均压缩效果可以达到30%左右,对于一些比较大的JS有非常明显的效果。
JSA 压缩时的常见问题
1。保留字滥用
如果你的脚本中存在某些保留字或者关键字属性甚至变量名,那么,对不起,您的脚本无法正常解析。
虽然大多数浏览器在这个时候会对你宽大处理,但是JSA不能,比如新浪编辑器里有一个float属性(其实那是错误写法,正确写法应该为styleFloat

2。严格的正则语法
JSA使用的是Rhino语法解析器,在正则处理时,哪怕在[]号内,依然需要对全部特殊字符转义。否则可能会出错。
比如,如下表达式:

/[/]/.test('/')

它在大多数浏览器上,都能通过。
但是Rhino解析器,则无法通过。
我粗略过了一下ECMA规范的语法说明,这一点应该算Rhino实现的bug。
引用:
ClassAtomNoDash ::
SourceCharacter but not one of/ ] -
/ ClassEscape

其它集合:Javascript压缩/Javascript compressed/crunched

开发Ajax除了自己要写js代码外,同样也免不了要使用其它第三方js库,是否该为JavaScript减肥?
当你提高了用户体验,做出了很绚丽的效果而欣喜的时候,是否想过优化一下JS的效率,比如微软的live,其中的js做了压缩处理。JS的速度分为两种,下载速度和执行速度。今天就先来说说下载速度。要想js的下载速度快,就需要尽量减小js文件的大小。这里我们可以使用一个工具ESC(ECMAScript cruncher)来帮我们完成这个工作,不过这个工具只能在Windows下使用。到http://www.saltstorm.net/depo/esc/introduction.wbm?pod=js下载ESC.zip,解压后看看它的帮助文档。很简单。
http://dean.edwards.name/packer/在线压缩
A Online JavaScript Compressor/Obfuscator version
Also available as a .NET application
开源下载:http://dean.edwards.name/download/#packer
压缩器帮助:http://dean.edwards.name/packer/usage/
http://dean.edwards.name/packer/usage/sample.html
http://hometown.aol.de/_ht_a/memtronic/
JavaScript Compressor/Obfuscator Demo:
http://www.brainjar.com/js/crunch/demo.html
JavaScript Code Improver:
JavaScript Code Improver Download
YUI Compressor Maven Plugin Maven
Else : JSMin,ShrinkSafe,jsMinifier,native2ascii
关于JavaScript的gzip静态压缩方法
传统的JS压缩提供的压缩率有时还是不尽不意,幸亏现在的浏览器都支持压缩传输(通过设置http header的Content-Encoding=gzip),可以通过服务器的配置(如apache)为你的js提供压缩传输,或是appfuse中使用的GZipFilter使tomcat也提供这种能力,现在的问题是这种动态的压缩会导致服务器CPU占用率过高,现在我想到的解决辨法是通过提供静态压缩(就是将js预先通过gzip.exe压缩好).
--- Javascript压缩工具 Javascript compressed,Js压缩 [http://www.ad0.cn/netfetch/read.php/821.htm]

Online Dojo JavaScript Compressor, Dojo ShrinkSafe.

分享到:
评论

相关推荐

    JS压缩工具 js代码美化

    Javascript compressed/crunched 开发Ajax除了自己要写js代码外,同样也免不了要使用其它第三方js库,是否该为JavaScript减肥? 当你提高了用户体验,做出了很绚丽的效果而欣喜的时候,是否想过优化一下JS的效率,...

    584787 21天学通HTML+CSS+JavaScript Web开发.第7版.-compressed

    584787 21天学通HTML+CSS+JavaScript Web开发.第7版.-compressed

    lzbase62:base62中基于LZ77(LZSS)JavaScript压缩算法

    lzbase62 base62中基于LZ77(LZSS)JavaScript压缩算法。 压缩后的结果将是一个以62个基数(0-9A-Za-z)为字符的字符串。 将大量数据存储在大小受限制的存储区(例如localStorage或cookie)中时,此功能很有用。演示...

    is-compressed:检查文件路径是否为压缩文件

    const isCompressed = require ( 'is-compressed' ) ; isCompressed ( 'source/unicorn.zip' ) ; //=> true isCompressed ( 'source/unicorn.txt' ) ; //=> false 有关的 压缩文件扩展名列表 执照 麻省理工学院:...

    cropperjs:JavaScript图像裁剪器

    Cropper.js JavaScript图像裁剪器。-Cropper.js的高级示例。 cropper Cropper.js的jQuery插件包装。目录产品特点支持39个支持27支持6支持触摸(移动) 支持缩放支持旋转支持缩放(翻转) 支持多种作物支持在画布上...

    mootools源代码说明

    MooTools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的 JavaScript代码。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的...

    ghost-storage-compressed

    storage-compressedmkdir -p ./content/adapters/storagecp -r ./node_modules/ghost-storage-compressed ./content/adapters/storage/compressed通过GIT mkdir -p ./content/adapters/storage/compressedcd content...

    S3TC:S3TC算法JavaScript实现

    S3TC 算法的 JavaScript 实现。 仅 DXT1 w/o alpha 实现。 该实现足够快,可以用作小图像的在线压缩器(256 到 256 像素约 10-20 毫秒)。 使用示例 假设我们已经有了 WebGL 上下文gl和一个 CommonJS 模块系统。 ...

    serve-compressed-2:Express中间件服务于预压缩资产

    服务压缩serve-compressed是Express中间件,可让您提供预压缩的文件。 这与不同,后者可即时压缩文件。 与动态压缩文件相比,提供预压缩的文件更快,内存占用更少,这意味着Express服务器可以将资源投入到其他更重要...

    viewerjs:JavaScript图像查看器

    Viewer.js JavaScript图像查看器。 viewer-用于Viewer.js的jQuery插件包装。目录产品特点支持52个支持23支持17支持模式和内联模式支持触控支持移动支持变焦支持旋转支持刻度(翻转) 支持键盘跨浏览器支持主要dist/...

    compressed-size-action:GitHub Action为PR提供了压缩后的大小更改

    name : Compressed Size on : [pull_request] jobs : build : runs-on : ubuntu-latest steps : - uses : actions/checkout@v2 - uses : preactjs/compressed-size-action@v2 with : repo-token : " ${{ ...

    lzwCompress.js:在JavaScript中为字符串实现了无损LZW压缩解压JSONJS对象

    JavaScript中针对字符串/ JSON / JS对象实现的无损LZW压缩/解压缩。 用法: 从npm安装lzwCompress: npm install lzwcompress 然后在您的node.js应用程序中使用它: import lzwCompress ...const compressed = lzwC

    mootools.js

    <script type="text/javascript" language="javascript" src="mootools.js"> <div id="myDiv1" >abc <script type="text/javascript"> var a = new Element('button'); a.value = 'test'; alert(a) alert(a.value)...

    thickbox3.1

    div+css炫丽页面效果!!!!! thickbox3.1 @import "Upimg/global.css";...<script src="Upimg/thickbox-compressed.js" type="text/javascript"> <script src="Upimg/global.js" type="text/javascript"></script>

    Node.js(node-v16.15.1-linux-armv7l.tar.xz)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    compressorjs:JavaScript图像压缩器

    JavaScript图像压缩器。 使用浏览器的本机 API进行压缩工作,这意味着它是有损压缩。 通常使用此方法在上载客户端映像文件之前对其进行预压缩。 目录 主要 dist/ ├── compressor.js (UMD) ├── compressor.min...

    JJLC:用于压缩存储在 localStorage 中的 JSON 的 Javascript 库

    用于 localStorage 的 Javascript Json 实时压缩 JJLC 允许您压缩 json 文件并将其保存在 localStorage 中。 它使用 JSON 模式自动创建地图,并由于 JSON 模式的冗余而节省了大量大小。 当您将 json 存储在 ...

    aspmvccombine

    .NET library which enables minification, compression, combination, and caching of JavaScript and CSS resources. Simply put, it helps your ASP.NET MVC applications rank better with YSlow and PageSpeed....

    string-unpack-code.rar_The Test

    This test case unpacks the compressed code for the MochiKit, jQuery, Dojo and Prototype JavaScript libraries.

    CSS和JS管理工具Brewer.js.zip

    编译 coffee-script (or iced) 源码到 javascript 编译 LESS 或 Stylus 文件到 CSS 将多个 JS 或者 CSS 文件合并到单一文件并可进行压缩处理,同时确保其正确的顺序 监控目录的改动 使用方法: $ brewer ...

Global site tag (gtag.js) - Google Analytics