Type.registerNamespace wirft Fehler, wenn der Namespace bereits existiert

9

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.

Steve B 20.05.2013, 15:13
quelle

2 Antworten

1

Einige Monate später ... musste ich endlich zwei separate Namespaces erstellen. Eine für das starre Modell MS Ajax, eine für selbst erstellte Namespaces.

%Vor%     
Steve B 24.09.2014, 09:37
quelle
0

Können Sie es nicht einfach versuchen / fangen?

%Vor%     
gotofritz 06.06.2013 10:35
quelle