jQuery JavaScript库

Posted

tags:

中文标题:jQuery JavaScript库 原文标题: 项目评级:Star:57400      Fork:20800 下载地址:https://github.com/jquery/jquery 详情介绍

jQuery-新浪潮JavaScript

贡献指南

本着开源软件开发的精神,jQuery始终鼓励社区代码的贡献。为了帮助您开始编写代码,在开始编写代码之前,一定要仔细阅读这些重要的贡献指南:

参考问题/PR

GitHub问题/PR通常通过gh-NUMBER引用,其中NUMBER是问题/PR的数字ID。您可以在https://github.com/jquery/jquery/issues/NUMBER下找到这样的问题/PR。

jQuery过去曾使用过另一种基于Trac的错误跟踪器,可在bugs.jQuery.com下使用。它保持在只读模式,以便可以参考过去的讨论。当jQuery源引用其中一个问题时,它使用模式trac-NUMBER,其中NUMBER是问题的数字ID。您可以在https://bugs.jquery.com/ticket/NUMBER中找到这样的问题。

使用jQuery的环境

构建自己的jQuery需要什么

要构建jQuery,您需要拥有最新的Node.js/npm和git 1.7或更高版本。早期版本可能有效,但不受支持。

对于Windows,您必须下载并安装git和Node.js。

macOS用户应该安装Homebrew。Homebrew安装完成后,运行brew install git安装git,

brew install node安装Node.js。

Linux/BSD用户应该使用适当的包管理器来安装git和Node.js,或者从源代码构建

如果你那样挥杆。小菜一碟

如何构建自己的jQuery

首先,克隆jQuery git repo。

然后,输入jquery目录并运行构建脚本:

jQuery的构建版本将与缩小的副本和相关的地图文件一起放在dist/子目录中。

如果您想创建自定义构建或帮助jQuery开发,最好将grunt命令行接口作为全局包安装:

npm install -g grunt-cli

通过测试确保您已安装grunt

grunt -V

现在,通过运行grunt命令,在jquery目录中,您可以构建完整版本的jquery,就像运行npm run build命令一样:

grunt

jQuery Core还可以执行许多其他任务:

grunt -help

模块

可以创建排除jQuery功能子集的特殊构建。

当构建器确定jQuery的这些部分没有被使用时,这允许较小的自定义构建。

例如,一个只对$.ajax()使用JSONP并且不需要计算元素的偏移量或位置的应用程序可以排除偏移量和ajax/xhr模块。

coreselector外,可以排除任何模块。要排除模块,请传递其相对于src文件夹的路径(没有.js扩展名)。

可以排除的一些示例模块包括:

作为特殊情况,您也可以使用特殊标志grunt custom:-selector来替换完整的jQueryselector模块。

注意:排除完整的selector模块也将排除所有jQuery选择器扩展(如effects/animatedSelectorcss/hiddenVisibleSelectors)。

构建过程为它排除或包含的每个依赖模块显示一条消息。

AMD名称

作为一个选项,您可以为jQuery的AMD定义设置模块名称。默认情况下,它被设置为“jquery”,这可以很好地与插件和第三方库配合使用,但在某些情况下,您可能希望更改这一点。只需设置"amd"选项:

或者,要匿名定义,请将名称设置为空字符串。

自定义生成示例

若要创建自定义生成,请首先签出版本:

其中VERSION是要自定义的版本。然后,确保安装了所有节点依赖项:

使用grunt custom选项创建自定义构建,列出要排除的模块。

排除所有ajax功能:

排除css会删除依赖于css的模块:效果、偏移量、维度。

排除一组模块:

还有一个特殊的别名,用于生成与官方jQuery Slim构建相同配置的构建:

有关自定义构建的问题或请求,请在论坛的开发jQuery核心部分启动一个线程。由于这些构建的组合学和自定义特性,它们不会在jQuery的单元测试过程中定期进行测试。

运行单元测试

确保您具有必要的依赖关系:

启动grunt watchnpm start,在工作时自动构建jQuery:

使用支持PHP的本地服务器运行单元测试。请确保从根目录而不是“测试”目录运行站点。不需要数据库。预配置的php本地服务器可用于Windows和Mac。以下是一些选项:

正在折叠到不同的目录

要将构建的jQuery文件从/dist复制到另一个目录:

在本例中,输出文件为:

要添加永久复制目的地,请在dist/中创建一个名为“.destination.json”的文件。在文件内部,粘贴并自定义以下内容:

此外,这两种方法可以结合使用。

基本Git

由于源代码由Git版本控制系统处理,了解所使用的一些功能是很有用的。

打扫

如果您想将工作目录清除回上游状态,可以使用以下命令(请记住,您所处理的所有内容都在这些命令之后消失):

回扣

对于功能/主题分支,您应该始终使用--rebase标志来git pull,或者如果您通常正在处理许多临时的“待在github拉取请求中”分支,请运行以下操作以实现自动化:

(详见man git-config

处理合并冲突

如果您在合并时遇到合并冲突,您可以使用该功能,而不是手动编辑冲突的文件

git mergetool. 尽管默认工具xxdiff看起来很糟糕/很旧,但它相当有用。

以下是可以在其中使用的一些命令:

QUnit参考

试验方法

注意:QUnit最终添加的停止/启动参数在这个测试套件中被忽略,这样启动和停止就可以作为回调传递,而不用担心它们的参数。

测试断言

测试套件便利方法参考(请参阅Test/data/testinit.js)

返回具有给定ID的元素数组

例子:

断言所选内容与给定的ID匹配

例子:

在不经过jQuery的情况下激发本机DOM事件

例子:

向url添加随机数以停止缓存

例子:

在iframe中运行测试

某些测试可能需要标准测试夹具以外的文件,以及

这些可以在单独的iframe中运行。实际的测试代码和断言

保留在jQuery的主要测试文件中;只有最小的测试夹具标记

并且设置代码应该放在iframe文件中。

这会加载一个页面,构建一个fileName"./data/" + fileName的url。

iframed页面通过以下方式确定测试中何时发生回调

包括“/test/data/iframeTest.js”脚本和调用

适当时startIframeTest( [ additional args ] )。通常情况下

将在文件准备就绪或window.onload火灾之后。

testCallback接收testIframe创建的QUnitassert对象

对于该测试,从全局jQuerywindowdocument

iframe。如果iframe代码将任何参数传递到startIframeTest

它们遵循document的论点。

问题?

如果您有任何问题,请随时在

开发jQuery核心论坛或在libera上的#jQuery中。

jQuery与javascript库

JavaScript库——jQuery

JavaScript-Runoob-JS 库 :测试 jQuery

Web开发——JavaScript库(测试jQuery)

JavaScript(14)jQuery(JavaScript 库)

CodeIgniter 和 Javascript/Jquery 库