web-dev-qa-db-ja.com

Angular 2:エラーTS2307:モジュール 'socket.io-client'が見つかりません

モジュールをインストールした後socket.io

npm install socket.io --save

次のエラーがあります:

エラーTS2307:モジュール 'socket.io-client'が見つかりません

インポート

import * as io from 'socket.io-client';

systemjs.config.js

var map = {
    'socket.io-client': 'node_modules/socket.io-client/socket.io.js'
}

var packages = {
    'socket.io-client': { main: 'socket.io', format: 'cjs', defaultExtension: 'js' }
}

package.json

"dependencies": {
    "socket.io": "^1.4.8"
}

typings.d.ts

/// <reference path="../socket.io-client/socket.io.js" />

declare module 'socket.io-client' {
  var e: any;
  export = e;
}

socket.io-client(ディレクトリ)
-socket.io.js
-typings.d.ts


Angular 2 RC5

8
Jils

2018年の更新

ブラウザでsocket.ioを適切に使用するには、socket.ioクライアントパッケージとその入力の両方をインストールする必要があります。

npm i socket.io-client @types/socket.io-client 

時代遅れ:

入力がありません。 typings.d.tsを開き、追加します

declare module 'socket.io-client' {
  var e: any;
  export = e;
}

npm i @types/socket.io-clientを介してsocket.ioのタイピングをインストールすることもできます。でも、タイピングが利用できるかどうかはわかりません。

18
j2L4e

Socket.ioのタイプ定義を含む正しいパッケージをインストールしてください。

npm install @types/socket.io-client --save

これには正しいフォルダー内のタイプが含まれ、angularがこれを取得するため、他のファイルでこれ以上アクションを実行する必要がないことを意味します。

15
FRECIA

App.components.tsの先頭にこれを追加して解決しました

  /// <reference path="../../typings/globals/socket.io-client/index.d.ts" /> 
0
enRaiser