Erläuterung der Definition der RequireJS-Bibliothek
Ich begann zu Lesen, mehrere tutorials über RequireJS. Keines von Ihnen war die "definieren" keyword zufriedenstellend erklärt für mich. Könnte jemand mir helfen mit die folgende :
define(
["Models/Person", "Utils/random", "jquery"],
function (Person, randomUtility, $) {..}
)
Was ist "definieren"? Definieren Sie eine Funktion mit einem array und einer anonymen Funktion innerhalb der it? Oder ist es etwas anderes? Kann mir jemand mehr Informationen über diese Art von Definitionen?
Ergänzung: Danke nnnnnn und pradeek für Eure Antworten. Hier in Europa war es 2:30 in der Nacht als ich das posting die Frage. Vielleicht deshalb habe ich nicht erkennen, es war ein simpler Funktionsaufruf.
InformationsquelleAutor der Frage Wolfgang Adamec | 2011-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
define
ist nicht spezifisch für RequireJS, es ist Teil der AMD-Spezifikation. Burke wird beachten Sie, dass RequireJS nicht implementieren, genau wie AMD gibt es, da AMD nicht wirklich halten Browsern im Auge.define
nicht über eine anonyme Funktion in es.define
ist eine Methode verfügbar gemacht, um AMD-basierten JavaScript-Dateien für das laden Ihrer Daten. Bibliotheken wie RequireJS zur Verfügung stellen. Die konkrete Umsetzung ist wahrscheinlich nicht für Sie wertvoll. Also werde ich gehen über das ein Sie als es ist die häufigste Art und Weise zu erklären-Modul.define(
[array]
object
);
Array ist eine Liste der Module, die dieses Modul abhängt. Es ist eine 1 zu 1 Beziehung zwischen den Modulen und Dateien. Sie können nicht mehrere Module in einer Datei oder mehrere Dateien für ein Modul.
Objekt ist das Modul, das Sie definieren. Das kann alles sein, eine Struktur oder eine Funktion zurückgibt, die ein struct. Lesen Sie die Dokumentation auf RequireJS für mehr details.
Wenn object eine Funktion, die an die Funktion übergebenen Argumente sind die aufgeführten Module als Abhängigkeiten in der ersten definieren argument. Es ist auch wichtig zu beachten, als wenn Sie übergeben eine Funktion als
object
ist, wird es nur einmal ausgeführt werden. Die Methoden oder Eigenschaften erstellt, auf dieser Instanziierung kann jederzeit zugegriffen werden, obwohl, kann dann zugegriffen werden, die von anderen Modulen, die dieses Modul als Abhängigkeit.Glück, empfehle ich spielen, um mit dieser und Lesen der Dokumente, wenn die Dinge nicht Ihren Sinn. RequireJS Dokumente sind so groß wie ein quick-start, wie AMD-Modulen arbeiten.
InformationsquelleAutor der Antwort Drew
Fand ich
define
definiert, die in der Nähe der Unterseite require.js (auch ich Frage mich, was das für ein Ding, dasdefine
Wort ist, und das ist die Antwort ich war auf der Suche für):InformationsquelleAutor der Antwort BlueMonkMN
Ich diese Seite gefunden Warum AMD? sehr hilfreich. Zusammenfassen von dieser Seite, AMD-Spezifikation ist hilfreich bei der überwindung von "schreiben eine Reihe von script-tags mit impliziten Abhängigkeiten, die Sie manuell Reihenfolge" - problem. Hilfreich ist es, sich im laden die Abhängigkeiten vor der Ausführung der benötigten Funktionen, ähnlich
import
in anderen Programmiersprachen wie python. AMD verhindert auch, dass der Globale namespace-pollution problem. Überprüfen Sie"It is an improvement over the web's current "globals and script tags" because"
Abschnitt.InformationsquelleAutor der Antwort vine'th
Ich denke, die RequireJs-API-Spezifikation fasst es ganz gut zusammen:
Diese Liste Beispiele für die verschiedenen syntaktischen Formen definiert.
InformationsquelleAutor der Antwort undefined behaviour