Hallo MD,
Javascript-Sourcen mit ein paar tausend Zeilen Programmcode dürften eher selten sein, aber bei mir ist das eher die Regel.
Wie Dir bereits früher geschrieben habe, verwalte ich meine Projekte mit Microsoft Visual Studio und editiere den Code im ESTK.Jetzt stoße ich ziemlich früh bei der Arbeit schon an den Punkt, wo ich mich frage, wie ich das Ganze am besten übersichtlich halte, bzw. wie ich das Ganze überhaupt organisieren soll.
Ich denke, es wird häufig vorkommen, dass ich innerhalb mancher Funktionen auf Funktionen aus einem anderen #include-Script zugreifen muss. Wie mache ich hier kenntlich, wo dieses #include-Script abgelegt ist, falls ich es mal verändern muss?
Die Versionsverwaltung und die Backups erledige ich mit Micosofts Teamfoundation-Server-Dienst (Visual Studio Online)
Ein neues Projekt lege ich in Visual-Studio an und füge die benötigten Dateien dort dem Projekt hinzu.
Als Beispiel hier mein WpsProjecthandler:
Hier kann man direkt eines der zuletzt bearbeiteten Projekte öffnen: Es wird eine Liste mit allen, dem Projekt zugeordneten Dateien, geladen und angezeigt:
Aus dieser Liste können die zur Bearbeitung anstehenden Dateien direkt im ESTK geöffnet werden: In einer separaten Includes.jsx-Datei verwalte ich alle JavaScript-Dateien, die beim Aufruf des Projektskriptes benutzt werden sollen. Diese Includes.jsx-Datei füge ich am Anfang des Projektskriptes ein: Für die Erstellung einer Kundenversion füge ich dann mit einer Spezialversion meines Skriptes WpsIncludes2AllIncluded.jsx alle benötigten JavaScript-Dateien zu einer einzigen Datei zusammen, speichere sie binär ab, füge ein Wrapper-Funktion hinzu, die den gesamten Setup-Prozess ausführt (Pfade einrichten, und mitgebrachte Dateien installieren)
Der von mir beschriebene Weg dient dazu, vorhandene Routinen immer wieder zu nutzen, neue Routinen komfortabel einzufügen, eine Versionsverwaltung zu nutzen und die Erstellung von Kundenversionen komplett zu automatisieren.
Eine einfachere Version mein IncludesSkriptes gibt es hier:
Arbeiten Sie modular mit WpsIncludesInCludes.jsx