J'ai un projet qui utilise plusieurs contextes requis et des versions et plugins jQuery chargés dynamiquement. (Les versions de jQuery seront centralisées et ne seront pas intégrées). L'intégrité de jQuery pour l'hôte et chaque contexte ainsi que l'isolation du plugin sont critiques.RequireJS - Isolation des versions et des plugins jQuery dans les contextes
Je suis en train d'écrire un plugin chargeur pour RequireJS pour traiter les cas d'utilisation suivants:
- Dans un spécifique nécessite contexte
- Et sans affecter la note de bas de la page d'accueil ou tout autre exigent contexte, je comme à:
- charge une version de jQuery j'ai besoin
- plugins de charge sur la fn de ma version jQuery spécifique
- Avoir l'intégrité référentielle sur une version jQuery requise de telle sorte que tout module dans mon contexte peut avoir besoin de partager des plugins
J'ai un exemple de projet pour le chargeur avec des tests here.
L'échec de la dernière condition lorsque j'effectue un second appel à l'aide du chargeur consiste à faire sauter la version précédente. J'utilise également eval pour isoler les références $ dans les plugins chargés dans la portée de la version jQuery chargée localement. Toute idée d'un meilleur moyen de le faire serait appréciée.
Voulez-vous rester simple (stupide) s'il y a une solution plus facile/plus propre.
Merci beaucoup.
Et pour éviter eval vous pourriez avoir un script côté serveur concatenate 'define ([ 'jquery version'], la fonction (jQuery) { var $ = jQuery; '+ [le plugin src] +'}); 'puis de charger un plugin appelez ce script avec le nom du plug-in et la version de jquery dans la chaîne de requête – wheresrhys