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基本编码模式小结
May 23 Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 Javascript
跟我学习javascript的循环
Nov 18 Javascript
JavaScript知识点总结之如何提高性能
Jan 15 Javascript
JavaScript判断数字是否为质数的方法汇总
Jun 02 Javascript
详解axios在node.js中的post使用
Apr 27 Javascript
Node.js中的http请求客户端示例(request client)
May 04 Javascript
对vue 键盘回车事件的实例讲解
Aug 25 Javascript
Vue实战教程之仿肯德基宅急送App
Jul 19 Javascript
基于javascript canvas实现五子棋游戏
Jul 08 Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 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
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
深入学习JavaScript中的bom
2019/05/27 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
python实现红包裂变算法
2016/02/16 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
pyenv命令管理多个Python版本
2017/03/26 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
婚假请假条怎么写
2014/04/10 职场文书
企业安全生产承诺书
2014/05/22 职场文书
不错的求职信范文
2014/07/20 职场文书
单位政审意见范文
2015/06/04 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
诉讼和解协议书
2016/03/23 职场文书
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技