Angular 2 : error TS2307: Cannot find module 'socket.io-client'

标签 angular typescript sockets typescript-typings

安装模块 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

最佳答案

2021 年更新

@nullromo 指出,socket.io-client 包现在内置了类型。不再需要单独安装类型

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 安装类型。不过,我不知道是否有可用的类型。

关于 Angular 2 : error TS2307: Cannot find module 'socket.io-client' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39226729/

相关文章:

node.js - 如何在 node.js 服务器中提供 angular2 应用程序

Angular 双向绑定(bind)以从输入字段获取总计

python:如何在多线程中发送数据包然后线程自行终止

c# - 尝试连接到 TCP 套接字时出现无效指针地址错误

angular - ngx bootstrap 通过路由打开模式

angular - 在 Angular 2 中从父容器调用子容器中的函数

angular - 作为组件的输入变量的类型应该是什么 - Angular

typescript - 从对象推断值

c - 如何使用ZeroMQ实现多个套接字?

Angular 从 HttpEvent<> 获取正文