Module AMD
L'objectif global du format AMD (Asynchronous Module Definition) est de fournir aux développeurs actuels une solution JavaScript modulaire utilisable.
Le format de module AMD lui-même est une proposition sur la façon de définir des modules afin que les modules et les dépendances puissent être chargés de manière asynchrone. Il présente de nombreux avantages uniques, notamment le fait d'être intrinsèquement asynchrone et très flexible, ce qui peut rompre le couplage étroit entre le code et l'identité du module qui est courant. Il a été adopté par de nombreux projets, dont jQuery (1.7).
RequireJS
RequireJS est une bibliothèque d'outils principalement utilisée pour la gestion des modules clients. Il permet de diviser le code client en modules pour un chargement asynchrone ou dynamique, améliorant ainsi les performances et la maintenabilité du code. Sa gestion des modules adhère aux spécifications AMD.
Prise en charge de jQuery pour AMD
jQuery 1.7 commence à prendre en charge l'enregistrement de jQuery en tant que module asynchrone AMD. Il existe de nombreux chargeurs de scripts compatibles (y compris RequireJS et curl) qui peuvent charger des modules en utilisant un format de module asynchrone, ce qui signifie qu'il ne faut pas beaucoup de piratage pour que tout fonctionne. Vous pouvez jeter un œil au code source dans jQuery 1.7 :
La façon dont cela fonctionne est que le chargeur de script utilisé indique qu'il peut prendre en charge plusieurs versions de jQuery en spécifiant une propriété, finish.amd.jQuery, comme true. Si vous souhaitez connaître les détails spécifiques de l'implémentation, vous pouvez enregistrer jQuery en tant que module nommé, car il existe un risque qu'il soit associé à d'autres fichiers utilisant la méthode Defin() d'AMD sans utiliser un script d'assemblage approprié qui comprend les définitions anonymes des modules AMD.
La version supérieure de jQuery (1.11.1) supprime le jugement definition.amd.jQuery :
Utiliser jQuery dans Require.js
Il est très pratique d'utiliser jQuery dans Require.js, il suffit de le configurer simplement, par exemple :
Utiliser le plug-in jQuery dans Require.js
Bien que jQuery prenne en charge l'API AMD, cela ne signifie pas que le plug-in jQuery est également compatible avec AMD.Format général du plug-in jQuery :
L'utilisation des composants jQuery UI dans Require.js est similaire. Modifiez simplement le code jQuery Widget Factory et chargez les dépendances de jQuery UI. Par exemple :
Copier le code