如果自己动手编辑自定义版本的最新jQuery类库
来源:互联网 发布:吉林省数据统计局官网 编辑:程序博客网 时间:2024/06/07 17:33
摘自:http://www.gbin1.com/technology/jquery/20120921-build-your-own-jquery/
你是不是觉得jQuery类库不够灵活,不像其它的框架或者类库,例如,dojo那样一样可以动态的加载模块,或者你在你的项目中没有使用jQuery提供的所有功能,比如,不需要AJAX相关功能,只需要DOM相关的操作功能。 那么能不能给我们的jQuery减减肥呢?在今天的这篇文章中,我们将介绍如何使用一些编译工具来创建我们自己的jQuery类库。
编译需要的工具
在我们编译前,我们需要准备3个编译工具:
- git 1.7或者更新:用来克隆抓取jQuery代码库
- npm:这个在我们以前的node.js入门中介绍过,如果你安装了node.js就包含了这个工具
- grunt:一个基于任务的命令行javascript编译工具
安装并且编译
首先请下载git和npm,我们使用的是windows环境,下载并安装git和node.js。如下:
下载git并安装:
下载node.js并安装:
注意这里我们使用npm来安装grunt。
取得jQuery代码并编译
首先打开Git Bash,如果你安装好了git,可以在开始菜单找到快捷方式,运行命令如下:
git clone git://github.com/jquery/jquery.git
你将看到正在抓取jquery的相关文件。如下图:
完成后,我们将在本机用户的个人目录中找到目录jquery。这是jquery工程文件目录。
接下来,进入jquery目录并且运行npm:
cd jquery && npm install
确认你安装了grunt,输入如下命令:
grunt -version
最后,使用grunt编译,如下:
grunt
你将能够在dist目录下看到你编译的jQuery。
注意:如果你遇到错误如下:
原因是没有将子模块抽取出来,请使用如下方式来解决:
git submodule update --init
再次运行grunt,则可以看到如下输出:
大家可以看到我们在dist目录下生成了3个版本的jquery.js
编译自定义版本的jQuery
下面我们将编译自定义版本的jQuery,在制作产品级别的jQuery类库之前,请确认最新稳定版,如下:
git pull; git checkout $(git describe --abbrev=0 --tags)
然后确认所有的node依赖包还有所有的Git子模块都已经check out。
npm install && grunt
现在我们开始编译自定义版本,例如,我们不需要AJAX功能,则运行如下命令行:
grunt custom:-ajax
不需要css:
grunt custom:-css
不需要deprecated:
grunt custom:-deprecated
不需要dimensions:
grunt custom:-dimensions
不需要effects:
grunt custom:-effects
不需要offset:
grunt custom:-offset
不需要所有的可选模块:
grunt custom:-offsetgrunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset
注意所有的依赖都被编译内部处理。你不用担心。
最后,运行Unit测试用例,保证代码正确。
cd jquery && grunt watch
这样你去dist查看一下jQuery类库的代码行数,可以看到文件更小了。
更多编译信息,请查看jQuery的github地址:https://github.com/jquery/jquery
- 如果自己动手编辑自定义版本的最新jQuery类库
- 如何自己动手编译自定义版本的最新jQuery类库?
- JQuery DataTables 服务端自定义查询(最新版本介绍)
- 探秘jQuery最新版本的压缩方法
- 调用jQuery最新版本
- jQuery最新1.4 版本的十五个新特性
- jQuery最新1.4 版本的十五个新特性
- jquery easy ui 1.5最新版本 简单的权限分配
- jquery easy ui最新版本 简单的权限分配
- jQuery 详解(含最新的3.x版本)
- 【uboot201607移植到FL2440】如果利用git版本管理工具下载最新的uboot源码
- 最新版本的MyEclipse
- 最新的Exadata版本
- 免费的最新版本
- 最新jQuery Mobile 1.2版本新特性
- jQuery的最新代码
- 在线编辑控件示例程序及其最新版本已经发布
- jquery中toggle事件最新版本移除之后的解决
- 共享内存
- 海量数据存储
- Khan公开课 - 统计学学习笔记:(三)随机变量、概率密度、二项分布、期望值
- android : Uri
- Android Recovery 的流程分析
- 如果自己动手编辑自定义版本的最新jQuery类库
- LINUX服务器,重启APACHE
- iPhone的九宫格实现代码
- H264 介绍
- iphone socket 开发(保含锁屏socket关闭解决方案)
- linux字符cdev和Inode的关系
- java判断字符串中是否包含汉字
- free
- 【无限互联】iOS开发视频教程第1和2章视频下载地址