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 相关文章推荐
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 Javascript
jQuery$命名冲突怎么办如何解决
Jan 16 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
Jun 12 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
vue 实现通过手机发送短信验证码注册功能
Apr 19 Javascript
Angular项目如何升级至Angular6步骤全纪录
Sep 03 Javascript
微信小程序开发之自定义tabBar的实现
Sep 06 Javascript
JavaScript作用域链实例详解
Jan 21 Javascript
理理Vue细节(推荐)
Apr 16 Javascript
js使用文件流下载csv文件的实现方法
Jul 15 Javascript
TypeScript 使用 Tuple Union 声明函数重载
Apr 07 Javascript
字节飞书面试promise.all实现示例
Jun 16 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 实现写入数据库
2009/09/02 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
Python 模块EasyGui详细介绍
2017/02/19 Python
wxPython之解决闪烁的问题
2018/01/15 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
如何处理简单的PHP错误
2015/10/14 面试题
平面设计自荐信
2013/10/07 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
我的长生果教学反思
2014/04/28 职场文书
文艺演出策划方案
2014/06/07 职场文书
锦旗赠语
2015/06/23 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
八年级英语教学反思
2016/02/15 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
Windows server 2012搭建FTP服务器
2022/04/29 Servers