Ich habe mein TypeScript-Projekt von Version 2.x auf Version 3.0.1 von socket.io aktualisiert. Danach kann ich mein Projekt nicht mehr kompilieren, da keine Typdefinitionen von cors, Cookie und Component-Emitter bekannt sind.
Nachdem ich sie (@types/cors, @types/cookie, @types/component-emitter) zum Abschnitt devDependencies meines Projekts hinzugefügt habe, funktioniert es wieder, aber dies ist weder im Migrationshandbuch dokumentiert noch fühlt es sich als eine gute Lösung zum Hinzufügen an eine 3rdParty-Komponente und dann Compilerfehler wegen fehlender Abhängigkeiten.
Hmm ... nach dieser , so scheint es , dass die Typen tatsächlich muss in dem aufgenommen werden dependencies
Abschnitt, und nicht in dem devDependencies
. Lass uns das machen!
Dies behebt das Problem fehlender Eingaben von cors und Cookie, jedoch nicht für Component-Emitter, das vom Paket socket.io-parser verwendet wird, wobei @types/component-emitter nur im Abschnitt devDependencies enthalten ist. Also habe ich auch bei socket.io 3.0.3 einen Compilerfehler wegen fehlendem @types/component-emitter. Ich muss dies noch zu meinem eigenen Abschnitt devDependencies hinzufügen, obwohl dies ein Implementierungsdetail von socket.io ist, das nirgendwo dokumentiert ist.
@renkei Siehe https://github.com/socketio/socket.io-parser/pull/99
Hilfreichster Kommentar
Hmm ... nach dieser , so scheint es , dass die Typen tatsächlich muss in dem aufgenommen werden
dependencies
Abschnitt, und nicht in demdevDependencies
. Lass uns das machen!