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 相关文章推荐
js不是基础的基础
Dec 24 Javascript
javascript 操作select下拉列表框的一点小经验
Mar 20 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
Jul 13 Javascript
基于javascript滚动图片具体实现
Nov 18 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
Feb 19 Javascript
Javascript原型链和原型的一个误区
Oct 22 Javascript
IE浏览器下PNG相关功能
Jul 05 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
JavaScript 过滤关键字
Mar 20 Javascript
详细分析单线程JS执行问题
Nov 22 Javascript
Vue开发之watch监听数组、对象、变量操作分析
Apr 25 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
Jun 20 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开发微信支付的代码分享
2014/05/25 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
浅谈js中的bind
2019/03/18 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python通过解析网页实现看报程序的方法
2014/08/04 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
外企测试工程师面试题
2015/02/01 面试题
水污染治理专业毕业生推荐信
2013/11/14 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
生物学专业求职信
2014/07/23 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
购房委托书
2014/10/15 职场文书
个人整改措施书面材料
2014/10/24 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python