La biblioteca de JavaScript jQuery ofrece numerosos módulos para ampliar la funcionalidad. Sin embargo, muchos de ellos no se necesitan en cada proyecto, lo que puede alargar innecesariamente los tiempos de carga. Para mejorar el rendimiento, se pueden eliminar los módulos innecesarios utilizando el task runner de JavaScript Grunt. Al excluir módulos no necesarios, se puede reducir jQuery 3.6.0.min en alrededor del 30%, lo que reduce tanto el tiempo de carga de la página como el uso de memoria en el navegador.
Actualmente, jQuery permite excluir los siguientes módulos:
- Ajax: Permite la recuperación de datos sin recargar completamente la página.
- Deprecated: Contiene funciones que se eliminarán en versiones futuras.
- CSS: Soporta la manipulación de propiedades CSS.
- Event Alias: Proporciona atajos para el manejo de eventos DOM.
- Dimensions: Permite obtener las dimensiones de un elemento (ancho, alto).
- Effects: Incluye efectos visuales como desvanecer y aparecer.
- Offset: Calcula la posición de un elemento relativa al documento.
$ mkdir jquery-build
$ cd jquery-build/
$ git clone https://github.com/jquery/jquery.git
$ cd jquery/
$ git checkout <branch>
Se puede cambiar la versión de jQuery posteriormente con:
$ git switch [<options>] <branch>
$ npm install
Si npm install
se queda bloqueado en idealTree:lib: sill idealTree buildDeps
, esto puede deberse a problemas con IPv6. En este caso, deshabilitar IPv6 podría resolver el problema. Los siguientes comandos pueden ayudar:
$ npm cache clear --force
$ npm config set registry http://registry.npmjs.org/
# sysctl -w net.ipv6.conf.all.disable_ipv6=1
# sysctl -w net.ipv6.conf.default.disable_ipv6=1
Para, por ejemplo, eliminar el módulo Ajax, se llama a Grunt de la siguiente manera:
$ grunt custom:-ajax
Varios módulos pueden ser eliminados separándolos con comas:
$ grunt custom:-ajax,-effects,-css,-deprecated,-event-alias,-dimensions,-effects,-offset