js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)


Posted in Javascript onJanuary 29, 2013

问题缘由:负责公司的开发平台研发工作,考虑的知识产权的保护工作,必须要考虑java的加密技术和js脚本的加密技术。在目前java加密很容易破解的情况下,还是先搞定js的加密和压缩,一方面可以提高页面加载性能,另外一方面也希望辛苦研发出来的成果得到一定的保护。

研究过程
1、先强烈鄙视一下哪些随便转载文章的家伙,给我制造了很大的麻烦!!网上很多帖子都不靠谱。。
2、首先想了解jquery使用什么压缩的, 网上找了半天,说法不一样,后来还是在jquery官网的最频繁问题中找到了答案,但这已经是绕了一大圈之后的事情了。
(a)根据我看到的一些信息,jquery压缩最早是用 Dean Edwards' Packer 进行压缩的,大概是在jquery1.3版本吧(我在一本jquery的书上看到的。)。这个东西出来的比较早,作者好像也是头 大牛,目前是3.0版本,好像是在线版本,我自己把代码去他网站上压缩,无法使用,会出错误。
(b)后面jquery换成yuicompressor 进行压缩,具体哪个版本不太清楚,有篇文章的作者说:他去jquery的svn中找了一下,发现有yuicompressor 的文件,然后他特意用jQuery.js试了一下,处理过的文件和jQuery.min.js一模一样。原帖地址。
(c) 偶滴神啊,最后我在jquery官网找到了这么一段话。How do I compress my code?

内容如下
Generally the best way to do it is to use the Google Closure Compiler (used by jQuery) or YUI compressor. jQuery provides a pre-minified version of jQuery for your convenience.
Packing JavaScript using Dean Edwards' Packer (specifically using the base64 encode) is not recommended, as the client-side decoding has significant overhead that outweighs the file-size benefits.
大致意思是说:jquery用的是google的开源js压缩工具,Google Closure Compiler和YUI compressor 是目前最佳的js压缩方式。 Dean Edwards‘ packer 是不推荐使用的!!

事后感想
1.其实我很早就注意到Google Closure Compiler这个工具了,但是受一个网友的误导,没有去试用。他提出2个理由,一是这东西开源没多久,二是这个会改写和优化你的代码结构且目前有几个严重的问题;我当时一直在找jquery是用什么压缩工具。 TMD这种技术文章中国人写的就是不可信,到处JB乱抄!!很多东西都要看官方网站的文档。
2.Google是一个伟大的公司,它的技术走在非常前沿,YUI之前是雅虎研发的,这几年雅虎业绩不佳,我想Google吸收了当前IT领域很多技术专家,我们应该相信它出品的东西都是精品。

Javascript 相关文章推荐
Javascript技术技巧大全(五)
Jan 22 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
jquery马赛克拼接翻转效果代码分享
Aug 24 Javascript
Javascript实现页面滚动时导航智能定位
May 06 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
Jun 25 Javascript
如何重置vue打印变量的显示方式
Dec 06 Javascript
浅谈Vue.use的使用
Aug 29 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
Nov 14 Javascript
如何优雅地在Node应用中进行错误异常处理
Nov 25 Javascript
javascript中正则表达式语法详解
Aug 07 Javascript
JavaScript起点(严格模式深度了解)
Jan 28 #Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 #Javascript
JavaScript转换农历类实现及调用方法
Jan 27 #Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
Jan 27 #Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
Jan 27 #Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 #Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 #Javascript
You might like
PHP 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
python中字符串前面加r的作用
2015/06/04 Python
python实现公司年会抽奖程序
2019/01/22 Python
python创建n行m列数组示例
2019/12/02 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
自荐信格式的六要素
2013/09/21 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript