Uso selectivo de dependencias en módulos con RequireJS

CambioLa configuración de RequireJS ofrece muchas posibilidades para hacer gran cantidad de cosas útiles. La semana pasada, por ejemplo, os contaba cómo forzar la descarga de todos los scripts/módulos de una página inhabilitando la caché gracias a un parámetro añadido automáticamente a todas las peticiones.

En esta ocasión me voy a fijar en otro parámetro interesante llamado map.

La función de este parámetro es "mapear" ciertos módulos de manera especial cuando sean dependencias de otros módulos.

Por ejemplo, imagínate que tienes que usar dos versiones del mismo módulo (digamos jQuery), pero quieres usar una en particular para un determinado módulo que depende de ella, y la otra para otro módulo diferente.

Supongamos que tenemos una estructura de archivos como esta:

- modulo1.js
- modulo2.js
- libs/
    - jquery1.11.2.js
    - jquery2.1.3.js

Es decir, dos módulos en la raíz de la carpeta de scripts, y una subcarpeta "libs" con las dos versiones de jQuery. Imaginemos ahora que el módulo número 1 necesita soportar navegadores antiguos, así que requerimos en éste el uso de la versión 1.x de jQuery (la 2.x no soporta versiones antiguas de los navegadores, y en especial de Internet Explorer), mientras que el resto de la aplicación usará jQuery 2.x.

O sea, modulo1.js requiere jQuery 1.11.2, y cualquier otro módulo de la aplicación requiere jQuery 2.1.3.

Podemos indicar este caso mediante la siguiente configuración de RequireJS:

… SEGUIR LEYENDO en JASoft.org …

Sin categoría

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *