如何自己动手编译自定义版本的最新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类库?

  日期:2012-9-21 来源:GBin1.com

时间: 2024-09-23 03:59:25

如何自己动手编译自定义版本的最新jQuery类库?的相关文章

《HotSpot实战》—— 1.2 动手编译虚拟机

1.2 动手编译虚拟机 源码面前,了无秘密.对于OpenJDK和HotSpot项目来说也是如此.因此,研究虚拟机实现机制的最佳途径就是阅读和调试源代码.我们希望能够动手编译一个完整的OpenJDK(含HotSpot)项目,或者仅编译HotSpot,这样就可以对虚拟机展开调试了. 虽然官方也支持在Windows操作系统下构建编译环境.但是经验表明,选择在Linux环境下搭建编译环境,可以避免不少弯路.理由有以下两点: Windows上为了得到完整的编译环境,需要借助Cygwin等虚拟环境,而在Li

在Windows上一键编译各种版本的Protobuf

所需工具 : cmake  for  windows 和  git for windows 原理:protobuf 是google的一个开源项目,其源代码在github上可以下载到,并且源码都采用cmake来构建,所以我们可以把源码下载到本地,然后了利用cmake构建本地工程,然后编译. 步骤一:下载源码 复制以下代码,保存到 download_protobuf_source.bat 文件中,运行即可 ::参考文章 https://github.com/google/protobuf/blob/

在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件.那么,如何才能DIY自己的内核呢?这篇文章一一道来.       一. 首选,参照前一篇在Ubuntu上下载.编译和安装Android最新源代码准备好Android源代码目录.       二. 下载Linux Kernel fo

visual studio 2010-VS2010的MFC程序编译Release版本出现如下问题,请问应该怎么解决呢?

问题描述 VS2010的MFC程序编译Release版本出现如下问题,请问应该怎么解决呢? 1>DlgTotalProtein.obj : error LNK2005: "protected: static struct CRuntimeClass * __stdcall CDlgTotalProtein::_GetBaseClass(void)" (?_GetBaseClass@CDlgTotalProtein@@KGPAUCRuntimeClass@@XZ) 已经在 DlgT

Android 编译出错版本匹配问题解决办法

Android 编译出错版本匹配问题解决办法 解决问题的关键在于版本匹配, compileSdkVersion compileSdkVersion targetSdkVersion 这三个参数的整数值都应该是一样的,这里我全部设置成23, 在这之前我还升级了:appcompat到com.Android.support:appcompat-v7:24.0.0 最终编译成功,剩下的问题都是代码问题了 apply plugin: 'com.android.application' android {

自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框_AngularJS

先说点闲话,熟悉Angular的猿们会喜欢这个插件的. 00.本末倒置 不得不承认我是一个喜欢本末倒置的人,学生时代就喜欢先把晚交的作业先做,留着马上就要交的作业不做,然后慢悠悠做完不重要的作业,卧槽,XX作业马上要交了,赶紧补补补.如今做这个项目,因为没找到合适的多选下拉Web插件,又不想用html自带的丑陋的<select multiple></select>,自己花了一整天时间做了一个.或许这样占用的主要功能开发的时间,开发起来会更有紧迫感吧.感觉自己是个抖M自虐倾向,并且伴

windows-为什么exception没有宽字符版本?还有很多类库也没有,使用wchar_t不是超级麻烦吗?

问题描述 为什么exception没有宽字符版本?还有很多类库也没有,使用wchar_t不是超级麻烦吗? 最近因为字符集的问题,搞来搞去总是有一些字符变成?号,想采用wchar_t替换原来的char,但是发现麻烦非常多,最郁闷的是一些类库的参数要求采用char*,连最平常的exception也不支持wchar_t,望众高手指教啊,用宽字符需要这么麻烦吗??比如那个OTL4,虽然声称支持宽字符,但是其中对象的参数,如连接字符串,SQL都要求传人char字符串,只是查询结果可以输出Unicode编码

源码编译更新nginx到最新版本,并开始nginx支持http2协议模块.

最近因为迁移公司vm上的代码,遇到一些问题.有一台vm配置了https协议,原以为迁移安全证书以后,配置nginx就可以了,但是修改nginx配置文件以后,执行 nginx -t 命令后,报如下错误: nginx: [warn] invalid parameter "spdy": ngx_http_spdy_module was superseded by ngx_http_v2_module in /usr/local/nginx/conf/sites-enable 在网上googl

在Ubuntu上下载、编译和安装Android最新源代码

看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源代码了呢?一直习惯使用Windows系统,而Android源代码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载.编译和安装Android源代码.      一. 环境准备.      1. 磁盘空间预留20G左右,内存3G,因为一边要跑主机,一边要跑虚拟机,内存要求还是比较高的,这样才会比较流畅.      2. 安装VMW