TypeScriptプロジェクトをsocket.ioのバージョン2.xからバージョン3.0.1に更新しました。 その後、cors、cookie、component-emitterのタイプ定義がわからないため、プロジェクトをコンパイルできなくなります。
それら(@ types / cors、@ types / cookie、@ types / component-emitter)をプロジェクトのdevDependenciesセクションに追加すると、再び機能しますが、これは移行ガイドに記載されておらず、追加するのに適したソリューションのようにも感じられません。サードパーティコンポーネントを使用してから、依存関係がないためにコンパイラエラーを取得します。
うーん...によると、この、タイプが実際に含まれなければならないようだdependencies
といないで、セクションdevDependencies
。 これをやろう!
これにより、corsとcookieの入力が欠落している問題が解決されますが、@ types / component-emitterがdevDependenciesセクションにのみ含まれているパッケージsocket.io-parserで使用されるcomponent-emitterでは解決されません。 そのため、socket.io 3.0.3を使用しても、@ types / component-emitterがないためにコンパイラエラーが発生しました。 これはsocket.ioの実装の詳細であり、どこにも文書化されていませんが、これを自分のdevDependenciesセクションに追加する必要があります。
最も参考になるコメント
うーん...によると、この、タイプが実際に含まれなければならないようだ
dependencies
といないで、セクションdevDependencies
。 これをやろう!