TypeScript 0.8.2 Importieren von Node.js-Modulen in interne Module

8

Okay, wie ich sehen kann, würden Sie gerne interne Module in Ihrem Projekt verwenden. Nun, es gab eine Problemumgehung in TypeScript 0.8.1.1, Sie könnten nicht exportierte Module (intern) definieren und darüber hinaus Importe hinzufügen. In 0.8.2 scheint das nicht mehr zu funktionieren. Die einzige Option, die ich hier sehen würde, wäre, die Importsyntax komplett wegzulassen und die Standardanforderungen für Knotenmodule zu verwenden. Ich weiß nicht, ob das eine gute Idee ist, aber bitte, teile deine Meinung. Ich weiß, dass die Verwendung der Importsyntax das Modul extern macht (Sprachspezifikation), aber das war in 0.8.1.1 nicht wahr, vielleicht ein Fehler?

In TypeScript 0.8.1.1 hat das funktioniert und funktioniert in 0.8.2 nicht mehr:

%Vor%

Ich könnte die Datei einschließlich des obigen Codes referenzieren, indem ich die Referenzsyntax über der Datei in anderen internen Modulen verwende und normalerweise rufe:

%Vor%

Es scheint, dass dies in 0.8.2 der einzige Weg ist, wie es für interne Module funktioniert:

%Vor%

Gibt es noch andere Möglichkeiten, interne Module mit Node.js-Modulen zu mischen? Ist etwas falsch mit der oben genannten Verwendung (es kompiliert und läuft in Ordnung ...)?

    
jzvelc 23.01.2013, 12:25
quelle

2 Antworten

4

Ich denke, dass TypeScript 0.8.2 uns der Spezifikation näher bringt.

Die Syntax:

%Vor%

ist insbesondere ein ExternalModuleReference in der TypeScript-Sprachspezifikation.

Ein internes Modul würde importiert werden mit:

%Vor%

Aber das Importieren eines internen Moduls erzeugt keine require -Anweisung in Ihrem JavaScript.

Entnommen aus der TypeScript-Sprachspezifikation 0.8 - 9.2.2 Erklärungen importieren

ImportDeklaration:

%Vor%

ModulReferenz:

%Vor%

ExternalModuleReference:

%Vor%     
Fenton 23.01.2013, 16:21
quelle
0

Ok, dieser Fehler ist auf die Version von TypeScript zurückzuführen. Um in TypeScript 0.8.1.1 ein externes Modul zu importieren, muss die Syntax lauten:

%Vor%

Dies ist ein Fehler in der neuesten Version von TypeScript. Sie können zur vorherigen Version zurückkehren oder die Syntax ändern, um sie mit v0.8.1.1 kompatibel zu machen. Denken Sie daran, dass dies ein Fehler ist und dass Sie in zukünftigen Versionen die ursprüngliche Syntax verwenden können sollten.

Dies ist der offizielle Thread für diesen Fehler: Ссылка

    
unjuken 23.01.2013 15:50
quelle