Встречи в настоящее время проводятся на платформе Matrix.org.
Протоколы встречи можно найти на собраниях.jquery.org.
Последняя версия jQuery доступна по адресу https://jquery.com/download/.
Версия | Ветвь | Статус |
---|---|---|
4.x. | основной | Бета |
3.x | 3.x-stable | Активный |
2.x. | 2.x-stable | Неактивный |
1.x | 1.x-stable | Неактивный |
Как только 4.0.0 выйдет в финал, филиал 3.x будет продолжать получать обновления в течение ограниченного времени. Ответы 2.x и 1.x больше не поддерживаются.
Коммерческая поддержка неактивных версий доступна от Herodevs.
Узнайте больше о нашей поддержке версий.
В духе разработки программного обеспечения с открытым исходным кодом JQuery всегда поощряет вклад кода сообщества. Чтобы помочь вам начать работу, и прежде чем вы перейдете на написание кода, обязательно прочитайте эти важные рекомендации по взносу:
Проблемы/PRS GitHub обычно ссылаются через gh-NUMBER
, где NUMBER
является числовым идентификатором проблемы/PR. Вы можете найти такую проблему/PR под https://github.com/jquery/jquery/issues/NUMBER
.
JQUERY использовал другой трекер ошибок - на основе TRAC - в прошлом, доступный в соответствии с bugs.jquery.com. Он хранится в режиме чтения, так что можно обратить внимание на прошлые дискуссии. Когда источник JQUERY ссылается на один из этих проблем, он использует паттерн trac-NUMBER
, где NUMBER
является численным идентификатором проблемы. Вы можете найти такую проблему в рамках https://bugs.jquery.com/ticket/NUMBER
.
Чтобы построить 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 git Repo.
Затем введите каталог jQuery, установите зависимости и запустите сценарий сборки:
cd jquery
npm install
npm run build
Встроенная версия jQuery будет размещена в каталоге dist/
вместе с мини -копией и соответствующим файлом карты.
Чтобы построить все варианты 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
-это модули Ecmascript, которые экспортируют jQuery
и $
в качестве названного экспорта в dist-module/
каталоге, а не в dist/
Directory.
Сценарий сборки можно использовать для создания пользовательской версии jQuery, которая включает только необходимые вам модули.
Любой модуль может быть исключен, кроме core
. При исключении selector
он не удаляется, а заменит небольшой оберткой вокруг Native querySelectorAll
(см. Ниже для получения дополнительной информации).
Чтобы увидеть полный список доступных вариантов для сценария сборки, запустите следующее:
npm run build -- --help
Чтобы исключить модуль, передайте его путь относительно папки src
(без расширения .js
) в опцию --exclude
. При использовании параметра --include
, включение по умолчанию отбрасывается, и сборка создается только с этими модулями.
Некоторые примеры модулей, которые можно исключить или включить:
Ajax : все функциональность AJAX: $.ajax()
, $.get()
, $.post()
, $.ajaxSetup()
, .load()
, транспорты и сокращения событий Ajax, такие как .ajaxStart()
.
Ajax/XHR : только транспорт xmlhttprequest ajax.
Ajax/Script : только <script>
ajax transport; используется для получения сценариев.
AJAX/JSONP : только транспорт JSONP AJAX; Зависит от транспорта Ajax/Script.
CSS : метод .css()
. Также удаляет все модули в зависимости от CSS (включая эффекты , размеры и смещение ).
css/show-hide : не анимированный .show()
, .hide()
и .toggle()
; может быть исключено, если вы используете классы или явные вызовы .css()
для установки свойства display
. Также удаляет модуль эффектов .
Умеренные : методы задокументированы как устаревшие, но еще не удаленные.
Размеры : методы .width()
и .height()
, включая inner-
и outer-
вариации.
Эффекты : метод .animate()
и его сокращения, такие как .slideUp()
или .hide("slow")
.
Событие : методы .on()
и .off()
и все функциональность событий.
Event/Trigger : методы .trigger()
и .triggerHandler()
.
Смещение : .offset()
, .position()
, .offsetParent()
, .scrollLeft()
и .scrollTop()
Методы.
wrap : .wrap()
, .wrapAll()
, .wrapInner()
и .unwrap()
.
Core/Ready : Исключите готовую модуль, если вы поместите свои сценарии в конце тела. Любые готовые обратные вызовы, связанные с jQuery()
будут просто вызваны немедленно. Тем не менее, jQuery(document).ready()
не будет функцией, а .on("ready", ...)
или аналогичный не будет запускаться.
Отложенный : исключить jQuery.deferred. Это также исключает все модули, которые полагаются на отсроченные, включая AJAX , эффекты и очередь , но заменяет ядро/готово на ядро/готово-нет .
Экспорт/Global : исключить приложение глобальных переменных jQuery ($ и jQuery) к окну.
Экспорт/AMD : исключить определение AMD.
Селектор : полный двигатель селектора jQuery. Когда этот модуль исключен, он заменяется рудиментарным двигателем селектора на основе метода querySelectorAll
для браузера, который не поддерживает расширения селектора jQuery или расширенную семантику. См. Файл Selector-Native.js для получения подробной информации.
Примечание . За исключением модуля полного selector
также будет исключать все расширения селектора jQuery (например, effects/animatedSelector
и css/hiddenVisibleSelectors
).
Вы можете установить имя модуля для определения AMD JQUERY. По умолчанию он настроен на «jQuery», который хорошо играет с плагинами и сторонними библиотеками, но могут быть случаи, когда вы хотели бы изменить это. Передайте его в параметр --amd
:
npm run build -- --amd= " custom-name "
Или, чтобы определить анонимно, оставьте имя пустым.
npm run build -- --amd
Имя по умолчанию для встроенного файла jQuery - jquery.js
; Он помещен под каталог dist/
. Можно изменить имя файла, используя --filename
и каталог с использованием --dir
. --dir
относительно проекта root.
npm run build -- --slim --filename= " jquery.slim.js " --dir= " /tmp "
Это создаст тонкую версию jQuery и поместит ее под tmp/jquery.slim.js
.
По умолчанию jQuery генерирует обычный файл JavaScript сценария. Вы также можете генерировать экспорт jQuery
модуля ECMASCRING в качестве экспорта по умолчанию с использованием параметра --esm
:
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
с автоматической сборки jQuery, когда вы работаете:
npm start
Запустите модульные тесты с локальным сервером, который поддерживает PHP. Убедитесь, что вы запускаете сайт из корневого каталога, а не в каталоге «Тест». База данных не требуется. Предварительно настроенные локальные серверы PHP доступны для Windows и Mac. Вот несколько вариантов:
Поскольку исходный код обрабатывается системой управления версиями GIT, полезно знать некоторые используемые функции.
Если вы хотите очистить свой рабочий каталог обратно в статус Upstream, можно использовать следующие команды (помните все, над чем вы работали, исчезло после этого):
git reset --hard upstream/main
git clean -fdx
Для филиалов функции/тем, вы всегда должны использовать флаг --rebase
для git pull
, или, если вы обычно обрабатываете много временных «для того, чтобы быть в ветвях GitHub Pressing», запустите следующее, чтобы автоматизировать это:
git config branch.autosetuprebase local
(См. man git-config
для получения дополнительной информации)
Если вы получаете конфликты слияния при слиянии, вместо того, чтобы редактировать конфликтные файлы вручную, вы можете использовать функцию git mergetool
. Несмотря на то, что инструмент по умолчанию xxdiff
выглядит ужасно/старым, это довольно полезно.
Ниже приведены некоторые команды, которые можно использовать там:
Ctrl + Alt + M
- Automerge как можно большеb
- прыгните в следующий конфликт слиянияs
- изменить порядок конфликтных линийu
- отменять слияниеleft mouse button
- отметьте блок, чтобы стать победителемmiddle mouse button
- отметьте линию, чтобы стать победителемCtrl + S
- СохранитьCtrl + Q
- уйти expect ( numAssertions ) ;
stop ( ) ;
start ( ) ;
ПРИМЕЧАНИЕ . В этом наборе тестирования игнорируется возможное добавление аргумента для остановки/старта, чтобы начало и остановку можно было передавать в виде обратных вызовов, не беспокоясь о их параметрах.
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 ] ) {
...
} ) ;
Это загружает страницу, создавая URL с именем файла "./data/" + fileName
. Страница Iframed определяет, когда обратный вызов происходит в тесте, включив скрипт «/test/data/iframetest.js» и вызов startIframeTest( [ additional args ] )
когда это необходимо. Часто это будет после того, как документ готов или window.onload
Fires.
testCallback
получает объект assert
QUNIT, созданный testIframe
для этого теста, за которым следует глобальный jQuery
, window
и document
из iframe. Если код iframe передает какие -либо аргументы для startIframeTest
, они следуют аргументу document
.
Если у вас есть какие -либо вопросы, пожалуйста, не стесняйтесь спросить на разработчиком основном форуме JQUERY или в #JQUERY на Libera.