회의는 현재 Matrix.org 플랫폼에서 개최됩니다.
회의록은 회의에서 찾을 수 있습니다 .jquery.org.
jQuery의 최신 버전은 https://jquery.com/download/에서 제공됩니다.
버전 | 나뭇가지 | 상태 |
---|---|---|
4.X | 기본 | 베타 |
3.x | 3.x 안정 | 활동적인 |
2.X | 2.x 안정 | 비활성 |
1.X | 1.x 안정 | 비활성 |
4.0.0 결승전이 출시되면 3.x 브랜치는 제한된 시간 동안 업데이트를 계속 받게됩니다. 2.x 및 1.x 분기는 더 이상 지원되지 않습니다.
비활성 버전에 대한 상업적 지원은 Herodevs에서 제공됩니다.
버전 지원에 대해 자세히 알아보십시오.
오픈 소스 소프트웨어 개발의 정신으로 JQuery는 항상 커뮤니티 코드 기여를 장려합니다. 시작하는 데 도움이되고 코드를 작성하기 전에이 중요한 기여 가이드 라인을 철저히 읽으십시오.
GitHub 문제/PR은 일반적으로 gh-NUMBER
통해 참조되며, 여기서 NUMBER
문제/PR의 숫자 ID입니다. https://github.com/jquery/jquery/issues/NUMBER
에서 이러한 문제/PR을 찾을 수 있습니다.
JQuery는 TRAC를 기반으로 한 다른 버그 추적기를 과거에 사용했습니다. 과거의 토론을 언급하는 것이 가능하도록 읽기 전용 모드로 유지되고 있습니다. jQuery 소스가 해당 문제 중 하나를 참조하면 패턴 trac-NUMBER
사용합니다. 여기서 NUMBER
문제의 숫자 ID입니다. https://bugs.jquery.com/ticket/NUMBER
에서 이러한 문제를 찾을 수 있습니다.
jQuery를 만들려면 최신 node.js/npm 및 git 1.7 이상이 필요합니다. 이전 버전은 작동하지만 지원되지 않습니다.
Windows의 경우 Git 및 Node.js를 다운로드하여 설치해야합니다.
MACOS 사용자는 홈브류를 설치해야합니다. Homebrew가 설치되면 brew install git
설치하여 GIT를 설치하고 brew install node
설치하여 Node.js를 설치하십시오.
Linux/BSD 사용자는 적절한 패키지 관리자를 사용하여 GIT 및 Node.js를 설치하거나 스윙 할 경우 소스에서 빌드해야합니다. 쉬운.
먼저 jQuery git repo를 복제하십시오.
그런 다음 jQuery 디렉토리를 입력하고 종속성을 설치하고 빌드 스크립트를 실행하십시오.
cd jquery
npm install
npm run build
구축 된 jQuery 버전은 소형 사본 및 관련지도 파일과 함께 dist/
Directory에 배치됩니다.
jQuery의 모든 변형을 구축하려면 다음 명령을 실행하십시오.
npm run build:all
이것은 jQuery jquery.js
, jquery.slim.js
, jquery.module.js
및 jquery.slim.module.js
를 포함하여 릴리스에 포함 된 모든 변형을 연결된 미니어링 파일 및 SourcEmaps와 함께 생성합니다.
jquery.module.js
및 jquery.slim.module.js
jQuery
내보내는 ecmascript 모듈이며, 지출 된 $
는 dist/
Directory가 아닌 dist-module/
Directory에 배치됩니다.
빌드 스크립트는 필요한 모듈 만 포함하는 jQuery의 사용자 정의 버전을 만드는 데 사용될 수 있습니다.
core
제외한 모든 모듈은 제외 될 수 있습니다. selector
제외 할 때는 제거되지 않지만 querySelectorAll
의 작은 래퍼로 교체됩니다 (자세한 내용은 아래 참조).
빌드 스크립트에 사용 가능한 전체 옵션 목록을 보려면 다음을 실행하십시오.
npm run build -- --help
모듈을 제외하려면 src
폴더에 대한 경로 ( .js
확장자가없는)에 대한 경로를 --exclude
옵션으로 전달하십시오. --include
옵션을 사용하면 기본 포함이 삭제되고 해당 모듈만으로 빌드가 생성됩니다.
제외되거나 포함될 수있는 일부 예제 모듈은 다음과 같습니다.
Ajax : 모든 ajax 기능 : $.ajax()
, $.get()
, $.post()
, $.ajaxSetup()
, .load()
, 전송 및 .ajaxStart()
와 같은 ajax 이벤트 속기.
Ajax/xhr : xmlhttprequest ajax 전달 전용.
ajax/script : <script>
ajax 전달 전용; 스크립트를 검색하는 데 사용됩니다.
AJAX/JSONP : JSONP AJAX 전달 전용; Ajax/스크립트 전송에 따라 다릅니다.
CSS : .css()
메소드. 또한 CSS ( 효과 , 치수 및 오프셋 포함)에 따라 모든 모듈을 제거합니다.
CSS/ShowHide : 비 Animated .show()
, .hide()
및 .toggle()
; 클래스 또는 명시 적 .css()
호출을 사용하여 display
속성을 설정하는 경우 제외 할 수 있습니다. 효과 모듈도 제거합니다.
더 이상 사용되지 않은 방법 : 더 이상 사용되지 않았지만 아직 제거되지 않은 방법.
치수 : inner-
및 outer-
변형을 포함한 .width()
및 .height()
메소드.
효과 : .animate()
메소드 및 .slideUp()
또는 .hide("slow")
와 같은 속기.
이벤트 : .on()
및 .off()
메소드 및 모든 이벤트 기능.
이벤트/트리거 : .trigger()
및 .triggerHandler()
메소드.
오프셋 : .offset()
, .position()
, .offsetParent()
, .scrollLeft()
및 .scrollTop()
메소드.
랩 : .wrap()
, .wrapAll()
, .wrapInner()
및 .unwrap()
메소드
코어/준비 : 신체 끝에 스크립트를 배치하면 준비 모듈을 제외하십시오. jQuery()
로 바인딩 된 준비된 콜백은 즉시 즉시 호출됩니다. 그러나 jQuery(document).ready()
함수가 아니며 .on("ready", ...)
또는 이와 유사한 것은 트리거되지 않습니다.
연기 : jquery.deferred 제외. 이것은 또한 AJAX , 효과 및 큐를 포함하여 연기에 의존하는 모든 모듈을 제외하지만 Core/Ready를 Core/Ready-Deferred 로 대체합니다.
Exports/Global : 글로벌 jQuery 변수 ($ 및 jQuery)의 첨부를 창에 제외합니다.
내보내기/AMD : AMD 정의를 제외합니다.
선택기 : 전체 jQuery 선택기 엔진. 이 모듈이 제외되면 JQuery Selector 확장 또는 향상된 의미론을 지원하지 않는 브라우저의 querySelectorAll
메소드를 기반으로 기초 선택기 엔진으로 대체됩니다. 자세한 내용은 selector-native.js 파일을 참조하십시오.
참고 : 전체 selector
모듈을 제외하면 모든 JQuery 선택기 확장 (예 : effects/animatedSelector
및 css/hiddenVisibleSelectors
)도 제외됩니다.
jQuery의 AMD 정의의 모듈 이름을 설정할 수 있습니다. 기본적으로 플러그인 및 타사 라이브러리와 잘 어울리는 "jQuery"로 설정되지만이를 변경하려는 경우가있을 수 있습니다. --amd
매개 변수로 전달하십시오.
npm run build -- --amd= " custom-name "
또는 익명으로 정의하려면 이름을 비워 두십시오.
npm run build -- --amd
내장 된 jQuery 파일의 기본 이름은 jquery.js
입니다. dist/
Directory 아래에 배치됩니다. --filename
사용하여 파일 이름을 변경하고 --dir
사용하여 디렉토리를 변경할 수 있습니다. --dir
프로젝트 루트와 관련이 있습니다.
npm run build -- --slim --filename= " jquery.slim.js " --dir= " /tmp "
이것은 슬림 버전의 jQuery를 생성하여 tmp/jquery.slim.js
에 배치합니다.
기본적으로 JQuery는 일반 스크립트 JavaScript 파일을 생성합니다. --esm
매개 변수를 사용하여 jQuery
기본 내보내기로 내보내는 ECMAScript 모듈을 생성 할 수도 있습니다.
npm run build -- --filename=jquery.module.js --esm
기본적으로 jQuery는 전역 window
에 따라 다릅니다. 없는 환경이없는 환경의 경우 외부에서 제공 할 수있는 매개 변수로 함수를 수락하는 window
을 노출시키는 공장 빌드를 생성 할 수 있습니다 (사용 지침을 위해 게시 된 패키지의 README
참조). --factory
매개 변수를 사용하여 이러한 공장을 생성 할 수 있습니다.
npm run build -- --filename=jquery.factory.js --factory
이 옵션은 --esm
또는 --slim
과 같은 다른 옵션과 혼합 될 수 있습니다.
npm run build -- --filename=jquery.factory.slim.module.js --factory --esm --slim --dir= " /dist-module "
npm run build
사용하여 사용자 정의 빌드를 작성하여 제외 할 모듈을 나열합니다. 최상위 모듈을 제외하고 해당 모듈 디렉토리도 제외합니다.
모든 Ajax 기능 제외 :
npm run build -- --exclude=ajax
CSS를 제외하면 CSS : 효과 , 오프셋 , 치수 에 따라 모듈이 제거됩니다.
npm run build -- --exclude=css
많은 모듈 제외 ( -e
--exclude
의 별칭입니다) :
npm run build -- -e ajax/jsonp -e css -e deprecated -e dimensions -e effects -e offset -e wrap
공식 jQuery 슬림 빌드와 동일한 구성을 가진 빌드를 생성하는 특별한 별명이 있습니다.
npm run build -- --filename=jquery.slim.js --slim
또는 ESM 모듈로 슬림 한 빌드를 작성하려면 다음과 같습니다.
npm run build -- --filename=jquery.slim.module.js --slim --esm
비공식 사용자 정의 빌드는 정기적으로 테스트되지 않습니다. 자신의 위험에 따라 사용하십시오.
필요한 종속성이 있는지 확인하십시오.
npm install
작업 할 때 npm start
하십시오.
npm start
PHP를 지원하는 로컬 서버로 단위 테스트를 실행하십시오. "테스트"디렉토리가 아닌 루트 디렉토리에서 사이트를 실행하는지 확인하십시오. 데이터베이스가 필요하지 않습니다. 사전 구성된 PHP 로컬 서버는 Windows 및 Mac에서 사용할 수 있습니다. 몇 가지 옵션은 다음과 같습니다.
소스 코드는 GIT 버전 제어 시스템에 의해 처리되므로 사용 된 일부 기능을 아는 것이 유용합니다.
작업 디렉토리를 업스트림 상태로 다시 제거하려면 다음 명령을 사용할 수 있습니다 (작업 한 모든 것이 사라 졌음을 기억하십시오).
git reset --hard upstream/main
git clean -fdx
기능/주제 분기의 경우 항상 --rebase
플래그를 git pull
으로 사용하거나 일반적으로 많은 임시 "Github 풀 요청"분기에있는 많은 임시 "를 처리하는 경우 다음을 실행하여 다음을 자동화해야합니다.
git config branch.autosetuprebase local
(자세한 내용은 man git-config
참조)
병합 할 때 합병 충돌이 발생하면 충돌 파일을 수동으로 편집하는 대신 기능 git mergetool
사용할 수 있습니다. 기본 도구 xxdiff
가 끔찍하거나 오래된 것처럼 보이지만 다소 유용합니다.
다음은 거기에서 사용할 수있는 몇 가지 명령입니다.
Ctrl + Alt + M
가능한 한 많은 자동차b
다음 갈등을 합병하십시오s
충돌 라인의 순서를 변경하십시오u
병합을 취소합니다left mouse button
- 승자가 될 블록을 표시middle mouse button
- 승자가 될 라인을 표시Ctrl + S
저장Ctrl + Q
종료 expect ( numAssertions ) ;
stop ( ) ;
start ( ) ;
참고 :이 테스트 스위트에서 Qunit의 최종 인수가 중지/시작 인수를 추가하여 무시되므로 매개 변수에 대해 걱정하지 않고 시작 및 중지를 콜백으로 전달할 수 있습니다.
ok ( value , [ message ] ) ;
equal ( actual , expected , [ message ] ) ;
notEqual ( actual , expected , [ message ] ) ;
deepEqual ( actual , expected , [ message ] ) ;
notDeepEqual ( actual , expected , [ message ] ) ;
strictEqual ( actual , expected , [ message ] ) ;
notStrictEqual ( actual , expected , [ message ] ) ;
throws ( block , [ expected ] , [ message ] ) ;
Test/Data/TestInit.js를 참조하십시오.
q ( ... ) ;
예:
q ( "main" , "foo" , "bar" ) ;
=> [ div # main , span # foo , input # bar ]
t ( testName , selector , [ "array" , "of" , "ids" ] ) ;
예:
t ( "Check for something" , "//[a]" , [ "foo" , "bar" ] ) ;
fireNative ( node , eventType ) ;
예:
fireNative ( jQuery ( "#elem" ) [ 0 ] , "click" ) ;
url ( "some/url" ) ;
예:
url ( "index.html" ) ;
=> "data/index.html?10538358428943"
url ( "mock.php?foo=bar" ) ;
=> "data/mock.php?foo=bar&10538358345554"
일부 테스트에는 표준 테스트 고정물 이외의 문서가 필요할 수 있으며 별도의 Iframe에서 실행할 수 있습니다. 실제 테스트 코드 및 어설 션은 jQuery의 주요 테스트 파일에 남아 있습니다. 최소 테스트 픽스처 마크 업 및 설정 코드 만 iframe 파일에 배치해야합니다.
testIframe ( testName , fileName ,
function testCallback (
assert , jQuery , window , document ,
[ additional args ] ) {
...
} ) ;
이것은 페이지를로드하여 filename "./data/" + fileName
으로 URL을 구성합니다. iframed 페이지는 "/test/data/iframetest.js"스크립트를 포함하고 적절한 경우 startIframeTest( [ additional args ] )
호출하여 테스트에서 콜백이 언제 발생하는지 결정합니다. 종종 이것은 문서 준비 또는 window.onload
화재 후에 발생합니다.
testCallback
테스트를 위해 testIframe
에 의해 생성 된 Qunit assert
객체를 수신 한 다음 Iframe의 Global jQuery
, window
및 document
수신합니다. iframe 코드가 인수를 startIframeTest
로 전달하면 document
인수를 따릅니다.
궁금한 점이 있으시면 jQuery Core 포럼 개발 또는 Libera의 #JQuery에 문의하십시오.