Ich habe mit der Arbeit an einem großformatigen Typoskript-Projekt begonnen.Verwenden von Namespace verteilt über mehrere Dateien in TypeScript
Von Anfang an möchte ich meine Dateien organisieren (dieses Projekt wird zwischen vielen Entwicklern aufgeteilt, daher ist eine Bestellung sehr notwendig).
Ich habe versucht, Module/Namespaces und Splitting-Klassen in separate Dateien für jeden einzelnen, mit einem Ordner mit dem Namespace.
Die Dateistruktur ist:
app.ts
\Classes
---- \Animals
---- ---- Mammals.ts
---- ---- Reptiles.ts
ich dann alle Dateien in diesem Namensraum in app.ts zu importieren versuchen, mit so etwas wie: import * as Animals from "./Classes/Animals"
Wie für die Namespace-Dateien selbst, ich habe versucht, die folgende, ohne Erfolg:
namespace Animals {
export class Mammals {
constructor() {
}
}
}
und auch:
module Animals {
export class Reptiles {
constructor() {
}
}
}
Leider wird der Pfad nie erkannt (da es auf einen Ordner und nicht auf eine einzelne Datei verweist). Ist das überhaupt möglich? Wenn alle meine Klassen aus einem einzigen Namespace in einer Datei stammen, ergeben sich Dateien, die Tausende von Zeilen lang sind und für dieses Projekt nicht pflegbar sind.
Ich habe auch bemerkt, dass TypeScript 1.5 Unterstützung für tsconfig.json unterstützt - jedoch jede Datei manuell der Karte hinzufügen ist ein sicherer Weg, Probleme einzuführen, wenn Entwickler Klassen hinzufügen.
HINWEIS: Ich verwende Visual Studio 2015, TypeScript 1.5 (ich glaube, nicht sicher, wie zu überprüfen). Ich habe auch ES6-Unterstützung eingeschaltet.
Vielen Dank für einen Rat, den Sie geben können!
Das offizielle Handbuch beschreibt dies (obwohl ut möglicherweise nicht mehr aktuell) http://www.typescriptlang.org/Handbook#modules-splitting-across-files – pablochan
Dank @pablochan - ich, dass man auch gesehen hatte, . Das Referenzieren jeder Datei im Namespace ist kontraintuitiv. Ist es möglich, auf den Namespace statt auf einzelne Dateien zu zeigen? – Askanison4
Nein, es sei denn, Visual Studio oder ein anderes Tool unterstützt dies. – pablochan