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 常用校验函数
Mar 26 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
Jan 15 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
js HTML5 Canvas绘制转盘抽奖
Sep 13 Javascript
bootstrap快速制作后台界面
Dec 05 Javascript
canvas绘制表盘时钟
Jan 23 Javascript
js模拟微博发布消息
Feb 23 Javascript
EasyUI在Panel上动态添加LinkButton按钮
Aug 11 Javascript
微信小程序 scroll-view实现锚点滑动的示例
Dec 06 Javascript
vuex 项目结构目录及一些简单配置介绍
Apr 08 Javascript
浅析node.js的模块加载机制
May 25 Javascript
vue 项目 iOS WKWebView 加载
Apr 17 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之对抗Web扫描器的脚本技巧
2008/10/01 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
JavaScript实现拼音排序的方法
2012/11/20 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
使用focus方法让光标默认停留在INPUT框
2014/07/29 Javascript
Javascript的闭包详解
2014/12/26 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python实现115网盘自动下载的方法
2014/09/30 Python
Python查找相似单词的方法
2015/03/05 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
详解python中eval函数的作用
2019/10/22 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python实现IOU计算案例
2020/04/12 Python
python多进程使用函数封装实例
2020/05/02 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
大学国际贸易专业自荐信
2014/06/05 职场文书
小学老师对学生的评语
2014/12/29 职场文书
颐和园英文导游词
2015/01/30 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python