2016-08-16 46 views
3

我正在绑定在我的Angular 2应用程序中使用socket.io,并且我没有太多运气从我的Angular 2应用程序中访问它。下面是关于我的设置的一些信息:在angular-cli @ webpack中使用socket.io-client

角2:rc.5 角CLI:1.0.0-beta.11-webpack.2 节点:6.2.2 操作系统:Linux的x64

我我通过npm和typings安装了socket.io,并且在我的node_modules目录中看到它,但是Angular 2应用程序似乎无法解析:

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

我见过有关如何使用webpack及其配置文件解决此问题的文章,但对于使用angular-cli @ webpack生成的应用程序似乎并不存在。

任何建议,指针等将不胜感激!

谢谢! 道格

回答

8

所有你需要的应该是以下几点:

NPM:在你的component.ts/service.ts

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

在一个虚拟的模块声明

npm install socket.io-client --save 

导入typings.d.ts:

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

我不知道是否有类型可用,但您可以尝试npm i @types/socket.io-client --save-dev而不是仅仅声明虚拟。

任何webpack配置都应该由angular-cli负责。

+0

感谢您的回复,我已将这些步骤包含在我的项目中,它似乎正在工作。至少我可以在我的服务中包含socket.io并创建套接字,并且事情不会爆炸!我将替代使用socket.io的当前轮询/ http服务,并查看它是否全部挂起。再次感谢您的帮助! –