Las reuniones se celebran actualmente en la plataforma matrix.org.
Las actas de la reunión se pueden encontrar en Meetings.jquery.org.
La última versión de jQuery está disponible en https://jquery.com/download/.
Versión | Rama | Estado |
---|---|---|
4.x | principal | Beta |
3.x | 3.x-estable | Activo |
2.x | 2.x-estable | Inactivo |
1.x | 1.x-estable | Inactivo |
Una vez que se lanza 4.0.0 final, la sucursal 3.x continuará recibiendo actualizaciones por tiempo limitado. Las ramas 2.x y 1.x ya no son compatibles.
El apoyo comercial para versiones inactivas está disponible en HeroDevs.
Obtenga más información sobre el soporte de nuestra versión.
En el espíritu del desarrollo de software de código abierto, JQuery siempre fomenta la contribución del código comunitario. Para ayudarlo a comenzar y antes de saltar al código de escritura, asegúrese de leer estas importantes pautas de contribución a fondo:
Los problemas/PR de GitHub generalmente se hacen referencia a través gh-NUMBER
, donde NUMBER
es la ID numérica del problema/PR. Puede encontrar tal problema/PR en https://github.com/jquery/jquery/issues/NUMBER
.
JQuery ha utilizado un rastreador de errores diferente, basado en TRAC, en el pasado, disponible en bugs.jquery.com. Se mantiene en modo solo de lectura para que sea posible referirse a discusiones pasadas. Cuando JQuery Source hace referencia a uno de esos problemas, utiliza el trac-NUMBER
del patrón, donde NUMBER
es la identificación numérica del problema. Puede encontrar tal problema en https://bugs.jquery.com/ticket/NUMBER
.
Para construir jQuery, debe tener el último nodo.js/npm y git 1.7 o posterior. Las versiones anteriores pueden funcionar, pero no son compatibles.
Para Windows, debe descargar e instalar git y node.js.
Los usuarios de MacOS deben instalar casería casera. Una vez que se instala Homebrew, ejecute brew install git
para instalar GIT, y brew install node
para instalar Node.js.
Los usuarios de Linux/BSD deben usar sus administradores de paquetes apropiados para instalar git y node.js, o construir desde la fuente si se balancea de esa manera. Fácil de llave.
Primero, clona el repositorio de jQuery git.
Luego, ingrese el directorio jQuery, instale dependencias y ejecute el script de compilación:
cd jquery
npm install
npm run build
La versión construida de jQuery se colocará en el directorio dist/
, junto con una copia minificada y un archivo de mapa asociado.
Para construir todas las variantes de jQuery, ejecute el siguiente comando:
npm run build:all
Esto creará todas las variantes que JQuery incluye en un lanzamiento, incluidos jquery.js
, jquery.slim.js
, jquery.module.js
y jquery.slim.module.js
a lo largo de sus archivos minificados asociados y sesiones de travesuras.
jquery.module.js
y jquery.slim.module.js
son módulos ECMAScript que exportan jQuery
y $
como las exportaciones nombradas se colocan en el dist-module/
en lugar del directorio dist/
.
El script de compilación se puede usar para crear una versión personalizada de jQuery que incluye solo los módulos que necesita.
Cualquier módulo puede ser excluido excepto core
. Al excluir selector
, no se elimina, sino que se reemplaza con una pequeña envoltura alrededor de querySelectorAll
nativo (ver más abajo para obtener más información).
Para ver la lista completa de opciones disponibles para el script de compilación, ejecute lo siguiente:
npm run build -- --help
Para excluir un módulo, pase su ruta en relación con la carpeta src
(sin la extensión .js
) a la opción --exclude
. Cuando se usa la opción --include
, las incluyas predeterminadas se eliminan y se crea una compilación con solo esos módulos.
Algunos módulos de ejemplo que pueden ser excluidos o incluidos son:
AJAX : All Ajax Funcionality: $.ajax()
, $.get()
, $.post()
, $.ajaxSetup()
, .load()
, transportes y AJAX Event Sporthands como .ajaxStart()
.
AJAX/XHR : el transporte XMLHTTPREQUEST AJAX solamente.
Ajax/script : el <script>
Ajax Transport solamente; se usa para recuperar scripts.
AJAX/JSONP : solo el transporte JSONP AJAX; Depende del transporte AJAX/Script.
CSS : el método .css()
. También elimina todos los módulos dependiendo de CSS (incluidos efectos , dimensiones y compensación ).
CSS/Showhide : no animado .show()
, .hide()
y .toggle()
; Se puede excluir si usa clases o llamadas explícitas .css()
para establecer la propiedad display
. También elimina el módulo de efectos .
Deprecido : Métodos documentados como desaprobados pero aún no eliminados.
Dimensiones : los métodos .width()
y .height()
, incluidas las variaciones inner-
y outer-
.
Efectos : el método .animate()
y sus taquigrafía como .slideUp()
o .hide("slow")
.
Evento : los métodos .on()
y .off()
y todas las funcionalidades del evento.
Evento/disparador : los métodos .trigger()
y .triggerHandler()
.
Offset : The .offset()
, .position()
, .offsetParent()
, .scrollLeft()
y .scrollTop()
métodos.
wrap : the .wrap()
, .wrapAll()
, .wrapInner()
y .unwrap()
métodos.
Core/Ready : excluya el módulo listo si coloca sus scripts al final del cuerpo. Las devoluciones de llamada listas vinculadas con jQuery()
simplemente se llamarán de inmediato. Sin embargo, jQuery(document).ready()
no será una función y .on("ready", ...)
o similar no se activará.
Diferido : excluir jQuery.deferred. Esto también excluye todos los módulos que se basan en diferidos, incluidos AJAX , Efectos y cola , pero reemplaza el núcleo/listo con núcleo/listos/no conferidos .
Exportaciones/Global : excluya el archivo adjunto de las variables de jQuery global ($ y jQuery) a la ventana.
Exportaciones/AMD : excluya la definición de AMD.
Selector : el motor JQuery Selector completo. Cuando se excluye este módulo, se reemplaza con un motor selector rudimentario basado en el método querySelectorAll
del navegador que no admite extensiones de selector de jQuery o semántica mejorada. Consulte el archivo Selector-Native.js para más detalles.
Nota : Excluir el módulo selector
completo también excluirá todas las extensiones de selector de jQuery (como effects/animatedSelector
y css/hiddenVisibleSelectors
).
Puede establecer el nombre del módulo para la definición AMD de JQuery. Por defecto, está configurado en "jQuery", que se reproduce bien con complementos y bibliotecas de terceros, pero puede haber casos en los que le gustaría cambiar esto. Pasarlo al parámetro --amd
:
npm run build -- --amd= " custom-name "
O, para definir de forma anónima, deje el nombre en blanco.
npm run build -- --amd
El nombre predeterminado para el archivo jQuery construido es jquery.js
; Se coloca debajo del dist/
Directorio. Es posible cambiar el nombre del archivo usando --filename
y el directorio usando --dir
. --dir
es relativo a la raíz del proyecto.
npm run build -- --slim --filename= " jquery.slim.js " --dir= " /tmp "
Esto crearía una versión delgada de jQuery y la colocaría bajo tmp/jquery.slim.js
.
Por defecto, JQuery genera un archivo JavaScript de script regular. También puede generar un módulo EcMascript que exporta jQuery
como la exportación predeterminada utilizando el parámetro --esm
:
npm run build -- --filename=jquery.module.js --esm
Por defecto, jQuery depende de una window
global. Para los entornos que no tienen uno, puede generar una compilación de fábrica que exponga una función de aceptación window
como un parámetro que puede proporcionar externamente (consulte README
del paquete publicado para las instrucciones de uso). Puede generar dicha fábrica utilizando el parámetro --factory
:
npm run build -- --filename=jquery.factory.js --factory
Esta opción se puede mezclar con otros como --esm
o --slim
:
npm run build -- --filename=jquery.factory.slim.module.js --factory --esm --slim --dir= " /dist-module "
Cree una compilación personalizada utilizando npm run build
, enumerando los módulos que se excluirán. Excluir un módulo de nivel superior también excluye su directorio correspondiente de módulos.
Excluir toda la funcionalidad AJAX :
npm run build -- --exclude=ajax
Excluir CSS elimina los módulos dependiendo de CSS: efectos , desplazamiento , dimensiones .
npm run build -- --exclude=css
Excluir un montón de módulos ( -e
es un alias para --exclude
):
npm run build -- -e ajax/jsonp -e css -e deprecated -e dimensions -e effects -e offset -e wrap
Hay un alias especial para generar una compilación con la misma configuración que la compilación oficial de jQuery Slim:
npm run build -- --filename=jquery.slim.js --slim
O, para crear la compilación delgada como un módulo ESM:
npm run build -- --filename=jquery.slim.module.js --slim --esm
Las construcciones personalizadas no oficiales no se prueban regularmente. Úselos bajo su propio riesgo.
Asegúrese de tener las dependencias necesarias:
npm install
Inicie npm start
a JQuery automático mientras trabaje:
npm start
Ejecute las pruebas unitarias con un servidor local que admite PHP. Asegúrese de ejecutar el sitio desde el directorio raíz, no el directorio de "prueba". No se requiere una base de datos. Los servidores locales PHP preconfigurados están disponibles para Windows y Mac. Aquí hay algunas opciones:
A medida que el código fuente es manejado por el sistema de control de versiones GIT, es útil conocer algunas características utilizadas.
Si desea purgar su directorio de trabajo al estado de Upstream, se pueden usar los siguientes comandos (recuerde que todo lo que ha trabajado se ha ido después de esto):
git reset --hard upstream/main
git clean -fdx
Para las ramas de características/temas, siempre debe usar el indicador --rebase
para git pull
, o si generalmente maneja muchas ramas temporales "para estar en una solicitud de tirón de GitHub", ejecute lo siguiente para automatizar esto:
git config branch.autosetuprebase local
(Ver man git-config
para obtener más información)
Si está obteniendo conflictos de fusión al fusionar, en lugar de editar los archivos conflictivos manualmente, puede usar la función git mergetool
. Aunque la herramienta predeterminada xxdiff
se ve horrible/vieja, es bastante útil.
Los siguientes son algunos comandos que se pueden usar allí:
Ctrl + Alt + M
- Automerge tanto como sea posibleb
- Salta al siguiente conflicto de fusións
- Cambie el orden de las líneas conflictivasu
- deshacer una fusiónleft mouse button
: marque un bloque para ser el ganadormiddle mouse button
: marque una línea para ser el ganadorCtrl + S
- GuardarCtrl + Q
- Salir expect ( numAssertions ) ;
stop ( ) ;
start ( ) ;
Nota : La adición eventual de Qunit de un argumento para detener/comenzar se ignora en este conjunto de pruebas para que el inicio y la parada se puedan pasar como devoluciones de llamada sin preocuparse por sus parámetros.
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 ] ) ;
Consulte Test/Data/TestInit.js.
q ( ... ) ;
Ejemplo:
q ( "main" , "foo" , "bar" ) ;
=> [ div # main , span # foo , input # bar ]
t ( testName , selector , [ "array" , "of" , "ids" ] ) ;
Ejemplo:
t ( "Check for something" , "//[a]" , [ "foo" , "bar" ] ) ;
fireNative ( node , eventType ) ;
Ejemplo:
fireNative ( jQuery ( "#elem" ) [ 0 ] , "click" ) ;
url ( "some/url" ) ;
Ejemplo:
url ( "index.html" ) ;
=> "data/index.html?10538358428943"
url ( "mock.php?foo=bar" ) ;
=> "data/mock.php?foo=bar&10538358345554"
Algunas pruebas pueden requerir un documento que no sea el accesorio de prueba estándar, y estas se pueden ejecutar en un iframe separado. El código de prueba real y las afirmaciones permanecen en los archivos de prueba principales de JQuery; Solo se debe colocar el marcado mínimo del accesorio de prueba y el código de configuración en el archivo iframe.
testIframe ( testName , fileName ,
function testCallback (
assert , jQuery , window , document ,
[ additional args ] ) {
...
} ) ;
Esto carga una página, construyendo una URL con nombre de archivo "./data/" + fileName
. La página IFRAMED determina cuándo se produce la devolución de llamada en la prueba al incluir el script "/test/data/iframetest.js" y llamar startIframeTest( [ additional args ] )
cuando sea apropiado. A menudo, esto será después del documento listo o window.onload
.
testCallback
recibe el objeto QUNIT assert
creado por testIframe
para esta prueba, seguido de la jQuery
, window
y document
global desde el iframe. Si el código de iframe pasa algún argumento a startIframeTest
, siguen el argumento document
.
Si tiene alguna pregunta, no dude en preguntar en el desarrollo de JQuery Core o en #JQuery en Libera.