Ich habe mir verschiedene asynchrone Ressourcenlader angesehen und bin mir noch nicht sicher, welche ich verwenden soll. Wo ich arbeite, haben wir unterschiedliche Gruppenbemühungen, deren Klassenmodule unterschiedliche Versionen von jQuery (usw.) verwenden können. Daher können sich auch verschachtelte Abhängigkeiten unterscheiden. Ich habe keine Kontrolle darüber, daher muss ich Ressourcen dynamisch laden, die möglicherweise alternative Versionen derselben Bibliothek verwenden.
Als solche sind hier meine Anforderungen:
- Laden Sie JavaScript- und CSS-Ressourcendateien asynchron.
- Verwalten der Abhängigkeitsreihenfolge und der verschachtelten Abhängigkeiten über Versionen hinweg.
- Ermitteln Sie, ob eine Ressource bereits geladen ist.
- Muss domänenübergreifendes Laden (CDNs) zulassen
- (optional) Erlauben Sie uns, eine Ressource zu entladen.
Ich habe gesucht:
Ich kann diese Anforderungen möglicherweise selbst vortäuschen, indem ich Versionen in Variablen mit richtigem Namensraum lade und mithilfe eines Arrays verfolge, was bereits geladen ist ... aber (hoffentlich) hat dies bereits jemand erfunden.
Meine Fragen sind also:
- Welche benutzt du? Und warum?
- Gibt es andere, die meine Anforderungen vollständig erfüllen?
- Mit welchen ist es am beredtesten und am einfachsten zu arbeiten? Und warum?
UPDATE:
Für Interessierte habe ich alle oben genannten AMD-Bibliotheken (und mehr) ausprobiert. Am Ende habe ich mich für RequireJS entschieden . Insgesamt ist es einfach sauberer und einfacher ... und ich bin froh, es zu verwenden.