2016-08-30 94 views
5

已经安装的模块socket.io角2:错误TS2307:找不到模块 'socket.io客户端'

npm install socket.io --save 

后,我有以下错误:

错误TS2307:找不到模块“ socket.io客户端”

进口

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客户端(目录)
- socket.io.js
- typings.d.ts


角2 RC5

回答

10

你缺少分型。 打开typings.d.ts并添加

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

您也可以尝试通过npm i @types/socket.io-client为socket.io安装分型。不过,我不知道是否有类型可用。

+0

即使我使用'npm i @ types/socket.io-client',我没有'typings.d.ts'文件。 – Jils

+0

只需创建一个并将'/// '到导入socket.io的ts文件中。将相对路径放在d.ts文件中。 – j2L4e

+0

你让我错了。您需要将'/// <参考路径=“../ path/to/typings.d.ts”/>'放入'import *之上的.ts文件中,作为'socket.io-client ';' – j2L4e

0

我解决它通过在我app.components.ts的顶部添加此

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

确保使用类型定义安装正确的包socket.io:

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

这将包括在正确的文件夹中的类型,意味着你不需要进一步的行动在任何其他文件,因为角会挑起这个。

相关问题