Typescript es6 import module "Datei ist kein Modulfehler"
Ich bin mit Typoskript 1.6 mit es6-Module-syntax.
Meine Dateien sind:
test.ts:
module App {
export class SomeClass {
getName(): string {
return 'name';
}
}
}
main.ts:
import App from './test';
var a = new App.SomeClass();
Wenn ich versuche zu kompilieren, die main.ts
Datei bekomme ich diesen Fehler:
Fehler TS2306: Datei " test.ts' ist nicht ein Modul.
Wie kann ich erreichen, dass?
InformationsquelleAutor der Frage Bazinga | 2015-09-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erweitert - um mehr details zu liefern, basierend auf einige Kommentare
Den Fehler
Kommt von der Tatsache, die hier beschrieben http://exploringjs.com/es6/ch_modules.html
Basierend auf den oben genannten müssen wir die
export
als ein Teil der test.js - Datei. Wir passen die Inhalte wie folgt:Und jetzt können wir importieren, die es mit diesen drei Möglichkeiten:
Und wir können konsumieren importierte Sachen wie diese:
und die Methode aufrufen, um ihn in Aktion zu sehen:
Original ist, zu versuchen, zu reduzieren die Menge an Komplexität in der Verwendung des namespace
Original Teil:
Ich würde wirklich dringend raten zu überprüfen, in diesem Q & A:
Wie kann ich namespaces verwenden Typoskript mit externen Modulen?
Lassen Sie mich zitieren der erste Satz:
In diesem Fall, wir haben einfach nicht brauchen
module
innerhalb vontest.ts
. Dies könnte der Inhalt so angepasst, dasstest.ts
:Lesen Sie hier mehr
Export =
können wir später konsumieren es wie folgt:
Lesen Sie hier mehr:
Optionales Modul Laden und Andere Erweiterte Szenario Laden
InformationsquelleAutor der Antwort Radim Köhler
Wie kann ich erreichen, dass?
Ihrem Beispiel erklärt Typoskript < 1.5 interne Moduldie jetzt als namespace. Die alten
module App {}
syntax entspricht nunnamespace App {}
. Als Ergebnis sind die folgenden Werke:Dass gesagt wird...
Versuchen Sie zu vermeiden, exportieren von namespaces und statt export-Module (die bisher genannten externe Module). Bei Bedarf können Sie einen namespace importieren, mit der namespace importieren Muster wie diese:
InformationsquelleAutor der Antwort Shaun Luttin
Oben genannten Antworten sind richtig. Aber nur für den Fall...
Habe gleichen Fehler in VS-Code. Re-speichern/kompilieren-Datei, die werfen Fehler.
InformationsquelleAutor der Antwort A. Tim