[jQuery](http://jquery.com/) - New Wave JavaScript
==================================================
Contribution Guides
--------------------------------------
In the spirit of open source software development, jQuery always encourages community code contribution. To help you get started and before you jump into writing code, be sure to read these important contribution guidelines thoroughly:
1. [Getting Involved](http://docs.jquery.com/Getting_Involved)
2. [Core Style Guide](http://docs.jquery.com/JQuery_Core_Style_Guidelines)
3. [Tips For Bug Patching](http://docs.jquery.com/Tips_for_jQuery_Bug_Patching)
What you need to build your own jQuery
--------------------------------------
In order to build jQuery, you need to have Node.js/npm latest and git 1.7 or later.
(Earlier versions might work OK, but are not tested.)
Windows users have two options:
1. Install [msysgit](https://code.google.com/p/msysgit/) (Full installer for official Git) and a
[binary version of Node.js](http://nodejs.org). Make sure all two packages are installed to the same
location (by default, this is C:\Program Files\Git).
2. Install [Cygwin](http://cygwin.com/) (make sure you install the git and which packages), and
a [binary version of Node.js](http://nodejs.org/).
Mac OS users should install Xcode (comes on your Mac OS install DVD, or downloadable from
[Apple's Xcode site](http://developer.apple.com/technologies/xcode.html)) and
[Homebrew](http://mxcl.github.com/homebrew/). Once Homebrew is installed, run `brew install git` to install git,
and `brew install node` to install Node.js.
Linux/BSD users should use their appropriate package managers to install git and Node.js, or build from source
if you swing that way. Easy-peasy.
How to build your own jQuery
----------------------------
First, clone a copy of the main jQuery git repo by running:
```bash
git clone git://github.com/jquery/jquery.git
```
Install the grunt-cli package so that you will have the correct version of grunt available from any project that needs it. This should be done as a global install:
```bash
npm install -g grunt-cli
```
Enter the jquery directory and install the Node dependencies, this time *without* specifying a global install:
```bash
cd jquery && npm install
```
Make sure you have `grunt` installed by testing:
```bash
grunt -version
```
Then, to get a complete, minified (w/ Uglify.js), linted (w/ JSHint) version of jQuery, type the following:
```bash
grunt
```
The built version of jQuery will be put in the `dist/` subdirectory, along with the minified copy and associated map file.
### Modules
Special builds can be created that exclude subsets of jQuery functionality.
This allows for smaller custom builds when the builder is certain that those parts of jQuery are not being used.
For example, an app that only used JSONP for `$.ajax()` and did not need to calculate offsets or positions of elements could exclude the offset and ajax/xhr modules. The current modules that can be excluded are:
- **ajax**: All AJAX functionality: `$.ajax()`, `$.get()`, `$.post()`, `$.ajaxSetup()`, `.load()`, transports, and ajax event shorthands such as `.ajaxStart()`.
- **ajax/xhr**: The XMLHTTPRequest AJAX transport only.
- **ajax/script**: The `<script>` AJAX transport only; used to retrieve scripts.
- **ajax/jsonp**: The JSONP AJAX transport only; depends on the ajax/script transport.
- **css**: The `.css()` method plus non-animated `.show()`, `.hide()` and `.toggle()`.
- **deprecated**: Methods documented as deprecated but not yet removed; currently only `.andSelf()`.
- **dimensions**: The `.width()` and `.height()` methods, including `inner-` and `outer-` variations.
- **effects**: The `.animate()` method and its shorthands such as `.slideUp()` or `.hide("slow")`.
- **event-alias**: All event attaching/triggering shorthands like `.click()` or `.mouseover()`.
- **offset**: The `.offset()`, `.position()`, `.offsetParent()`, `.scrollLeft()`, and `.scrollTop()` methods.
- **wrap**: The `.wrap()`, `.wrapAll()`, `.wrapInner()`, and `.unwrap()` methods.
The grunt build process is aware of dependencies across modules. If you explicitly remove a module, its dependent modules will be removed as well. For example, excluding the css module also excludes effects, since the effects module uses `.css()` to animate CSS properties. These dependencies are listed in Gruntfile.js and the build process shows a message for each dependent module it excludes.
To create a custom build of the latest stable version, first check out the version:
```bash
git pull; git checkout $(git describe --abbrev=0 --tags)
```
Then, make sure all Node dependencies are installed and all Git submodules are checked out:
```bash
npm install && grunt
```
Create the custom build, use the `grunt custom` option, listing the modules to be excluded. Examples:
Exclude all **ajax** functionality:
```bash
grunt custom:-ajax
```
Exclude **css**, **effects**, **offset**, **dimensions**, and **position**. Excluding **css** automatically excludes its dependent modules:
```bash
grunt custom:-css,-position
```
Exclude **all** optional modules:
```bash
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-event-alias,-offset,-wrap
```
For questions or requests regarding custom builds, please start a thread on the [Developing jQuery Core](https://forum.jquery.com/developing-jquery-core) section of the forum. Due to the combinatorics and custom nature of these builds, they are not regularly tested in jQuery's unit test process.
Running the Unit Tests
--------------------------------------
Start grunt to auto-build jQuery as you work:
```bash
cd jquery && grunt watch
```
Run the unit tests with a local server that supports PHP. Ensure that you run the site from the root directory, not the "test" directory. No database is required. Pre-configured php local servers are available for Windows and Mac. Here are some options:
- Windows: [WAMP download](http://www.wampserver.com/en/)
- Mac: [MAMP download](http://www.mamp.info/en/index.html)
- Linux: [Setting up LAMP](https://www.linux.com/learn/tutorials/288158-easy-lamp-server-installation)
- [Mongoose (most platforms)](http://code.google.com/p/mongoose/)
Building to a different directory
---------------------------------
To copy the built jQuery files from `/dist` to another directory:
```bash
grunt && grunt dist:/path/to/special/location/
```
With this example, the output files would be:
```bash
/path/to/special/location/jquery.js
/path/to/special/location/jquery.min.js
```
To add a permanent copy destination, create a file in `dist/` called ".destination.json". Inside the file, paste and customize the following:
```json
{
"/Absolute/path/to/other/destination": true
}
```
Additionally, both methods can be combined.
Updating Submodules
-------------------
Update the submodules to what is probably the latest upstream code.
```bash
grunt update_submodules
```
Note: This task will also be run any time the default `grunt` command is used.
Essential Git
-------------
As the source code is handled by the version control system Git, it's useful to know some features used.
### Submodules ###
The repository uses submodules, which normally are handled directly by the `grunt update_submodules` command, but sometimes you want to
be able to work with them manually.
Following are the steps to manually get the submodules:
```bash
git clone https://github.com/jquery/jquery.git
cd jquery
git submodule init
git submodule update
```
Or:
```bash
git clone https://github.com/jquery/jquery.git
cd jquery
git submodule update --init
```
Or:
```bash
git clone --recursive https://github.com/jquery/jquery.git
cd jquery
```
If you want to work inside a submodule, it is possible, but first you need to checkout a branch:
```bash
cd src/sizzle
git checkout master
```
After you've committed your changes to the submodule, you'll update the jquery project to point to the ne
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ASP.NET 5(MVC6)的小例子 (2000个子文件)
bootstrap.css 120KB
bootstrap.css 120KB
bootstrap.min.css 97KB
bootstrap.min.css 97KB
stylesheet.css 19KB
bootstrap-theme.css 14KB
bootstrap-theme.css 14KB
bootstrap-theme.min.css 13KB
bootstrap-theme.min.css 13KB
style.css 11KB
screen.css 6KB
milk.css 5KB
qunit.css 5KB
firebug.css 3KB
testsuite.css 3KB
ui.css 2KB
style.css 2KB
cmxform.css 1014B
cmxformTemplate.css 993B
benchmarker.css 879B
reset.css 790B
core.css 683B
prettify.css 676B
site.css 626B
screen.css 195B
step2.htm 12KB
index.html 20KB
index.html 18KB
index.html 16KB
index.html 15KB
index.html 14KB
filter.html 10KB
find.html 10KB
index.html 9KB
Project_Readme.html 8KB
themerollered.html 7KB
large.html 7KB
index.html 7KB
index.html 7KB
delegatetest.html 6KB
radio-checkbox-select-demo.html 5KB
errorcontainer-demo.html 5KB
index.html 4KB
hovertest.html 4KB
dynamic-totals.html 4KB
tabs.html 3KB
custom-methods-demo.html 3KB
ajaxSubmit-integration-demo.html 2KB
events.html 2KB
index.html 2KB
custom-messages-data-demo.html 2KB
index.html 2KB
html5_selector.html 2KB
localfile.html 2KB
css.html 2KB
readywait.html 2KB
absolute.html 2KB
jquerymobile.html 2KB
file_input.html 2KB
networkerror.html 2KB
relative.html 1KB
static.html 1KB
scroll.html 1KB
fixed.html 1KB
event.html 1KB
table.html 1KB
closest.html 994B
iframe-denied.html 880B
slice.vs.concat.html 868B
body.html 841B
syncReady.html 735B
bodyBackground.html 668B
firebug.html 651B
shrinkWrapBlocks.html 627B
documentSmall.html 615B
unreleasedXHR.html 608B
promiseReady.html 501B
sizzle_cache.html 497B
cc_on.html 451B
documentLarge.html 445B
focusElem.html 355B
testElementCrash.html 302B
boxSizing.html 277B
test.html 204B
cleanScript.html 157B
test2.html 126B
test3.html 123B
iframe.html 109B
name.html 81B
rx.all.compat.js 360KB
rx.all.js 354KB
gbk.js 280KB
big5.js 270KB
jquery.js 267KB
jquery.js 267KB
jquery-1.9.0.js 261KB
jquery-1.8.3.js 260KB
jquery-1.7.2.js 247KB
lodash.js 240KB
lodash.js 240KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
Catcher_hwq
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页