Ich erhalte Datei node_modules/@types/webrtc/index.d.ts ist kein Modul mit diesem Code:
%Vor% Ich habe die Typisierung mit npm i @types/webrtc --save-dev
installiert. Der Mauszeiger über RTCPeerConnection
in const peerConnection1 = new RTCPeerConnection();
zeigt Annotationen in Visual Studio-Code an, sodass mindestens der Code-Editor die Typen sieht. Das Ausführen von tsc
(oder webpack
mit ts-loader
) schlägt mit dem Fehler fehl.
Ich habe npm i webrtc --save
in einem fehlgeleiteten Versuch versucht, dies zu lösen, aber es hat nichts geändert und ich möchte eigentlich nur die Typings, WebRTC ist genau dort im Browser, ich brauche kein Paket dafür. (Unterstützung beiseite.)
Die Datei index.d.ts
ist in der Tat kein Modul, sie referenziert nur zwei andere Dateien mit Schnittstellen in ihnen. Also dachte ich mir, import * as webrtc from "webrtc";
zu entfernen, in der Hoffnung, dass die Typings irgendwie immer noch von tsc
sichtbar sind. (Aber das ist unmöglich, da ich node_modules
in der TypeScript-Konfigurationsdatei ausschließe.) Wenn ich das tue, wird RTCPeerConnection
nicht mehr erkannt.
Das Hinzufügen von /// <reference src="node_modules/@types/webrtc/" />
hat nicht geholfen, tsc
sagt Ungültige Syntax der Referenzdirektive .
Sie können ein Repository mit minimalem Repro hier auf GitLab anzeigen. Ich bin nicht so versiert in TypeScript Typings Erwerb also bitte vergib meine Unwissenheit, wenn ich das alles falsch mache.
webrtc ist Teil des Browsers; Sie versuchen ein Modul zu importieren. Importieren Sie einfach die (Typings) Bibliothek:
%Vor% Möglicherweise müssen Sie "moduleResolution": "node"
in den Compileroptionen verwenden.
Alternativ verwenden Sie die "types": ["webrtc"]
-Compiler-Option und der Compiler wird diese Typen automatisch für Sie laden.
Sie möchten wahrscheinlich
hinzufügen %Vor% an Ihre tsconfig.json
oder weniger bevorzugt an
in Ihren Quelldateien. Hier ist ein Beispiel dafür in Ihrem tsconfig.json
:
Dies teilt TypeScript mit, dass es webrtc
Deklarationen in Ihrem Build enthalten sollte
Eine andere Option ist das Hinzufügen einer neuen Deklarationsdatei *.d.ts
in Ihrem Modul, d. h .:
Sie müssen nichts importieren, führen Sie Folgendes aus:
npm install --save @types/webrtc
update tsconfig.json -
"Typen": [ "@ Typen / webrtc" ]
Tags und Links typescript typescript-typings