In meiner Unternehmensumgebung verwenden wir viel Javascript. Um die Verwaltung all dieses Skripts zu vereinfachen und die Namensgebung von Kollisionen zu vermeiden, haben wir eine JavaScript-Namenskonvention für Namespaces eingeführt, die im Wesentlichen lautet:
Firmenname.Projektname.Area.XYZ.js
Um die Namespaces zu erstellen, verwenden wir das folgende Muster:
%Vor%Was gut funktioniert (eigentlich ist das die Ausgabe eines TypeScript-Skripts).
Ich habe jedoch auch einige Skripte, die die Namespacing-Funktion von Microsoft Ajax verwenden, da dies von Anwendungen außerhalb der Kontrolle (Javascript-Plugin) benötigt wird.
Ich benutze diese Erklärung:
%Vor% Aber der Aufruf von Type.registerNamespace
löst einen Fehler aus:
Sys.InvalidOperationException: Objekt Firma existiert bereits und ist kein Namespace
Wie kann ich beide Welten richtig kombinieren? Wie kann ich mein Problem lösen und die Warnung verschwinden lassen?
Ich kann die Reihenfolge der Skripteinbeziehung nicht kontrollieren, da sie dynamisch von der Anwendung generiert wird.
Ich möchte den gesamten Code nicht nach dem Microsoft-Muster migrieren, da er ziemlich nutzlos und schwer zu lesen ist. Und während ich zu Typoskript migriere, kann ich die Namespacing-Ausgabe sogar nicht steuern.
Ich möchte auch keinen alternativen Namespace einführen, um die Ajax auszuschließen, weil das dem ganzen Team etwas Verwirrung bringen wird.
Tags und Links javascript namespaces microsoft-ajax