2016-08-16 102 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服務,並查看它是否全部掛起。再次感謝您的幫助! –