2017-01-06 6 views
0

Warum hier ReadStream und WriteStream kann nicht durch Typoskript identifiziert werden, während Funktion fs.createReadStream() identifiziert werden kann? enter image description here Wenn der Kompilierung Fehler unter Wurf:Typescript kann Schnittstellenname nicht finden, aber die definierte Funktion kennen

app1.ts(3,8): error TS2304: Cannot find name 'ReadStream'. 
app1.ts(4,8): error TS2304: Cannot find name 'WriteStream'. 

Alle Schnittstellen und Funktionen in node.d.ts-Datei definiert werden.

+0

Nur ein FYI, es ist im Allgemeinen für Fragen bevorzugt, dass ihr Code als Text und nicht als Bild enthalten ist. –

+0

:) Ich möchte nur, dass die Leute die roten Wellenlinien sehen. Der Code hier ist nicht so wichtig. Danke für deine Erinnerung trotzdem. – BartMao

+0

Neugierig, warum Sie das tun. Meiner Erfahrung nach weist die einfache Zuweisung der Ausgabe von createReadStream den Stream rs zu. Warum der Schnittstellenaufruf? –

Antwort

0

Nachdem sie in der Definitionsdatei zu graben, erkannte ich, ich sollte den Namen des Moduls, bevor die Schnittstelle ReadStream oder WriteStream anhängen:

import fs = require('fs'); 
let ws:fs.WriteStream 
0

sind Sie Variablendeklaration sein sollte:

let rs: fs.ReadStream = ... 

Diese Art und Weise sagen Sie TypeScript 'hey, diese vars sind ReadStream s, die Sie die Deklaration in der fs Modul' finden können.

Verwandte Themen