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词法作用域与调用对象深入理解
Nov 29 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
Aug 04 Javascript
基于JS实现PHP的sprintf函数实例
Nov 14 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
javascript创建对象、对象继承的实用方式详解
Mar 08 Javascript
JS使用插件cryptojs进行加密解密数据实例
May 11 Javascript
10个在JavaScript开发中常遇到的BUG
Dec 18 Javascript
vue-router中的hash和history两种模式的区别
Jul 17 Javascript
今天,小程序正式支持 SVG
Apr 20 Javascript
Vue项目中配置pug解析支持
May 10 Javascript
vue element-ui读取pdf文件的方法
Nov 26 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 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各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
js获取视频时长代码
2014/04/10 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
python复制文件代码实现
2013/12/23 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python 多线程Threading初学教程
2017/08/22 Python
如何在python中使用selenium的示例
2017/12/26 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
Python调用Redis的示例代码
2020/11/24 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
考博专家推荐信模板
2013/12/02 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
先进事迹材料范文
2014/12/29 职场文书
学生逃课检讨书
2015/02/17 职场文书
青春雷锋观后感
2015/06/10 职场文书
详解Nginx 工作原理
2021/03/31 Servers