在 angular-cli@webpack 中使用 socket.io-client
Posted
技术标签:
【中文标题】在 angular-cli@webpack 中使用 socket.io-client【英文标题】:Using socket.io-client in angular-cli@webpack 【发布时间】:2016-12-23 06:59:37 【问题描述】:我想在我的 Angular 2 应用程序中使用 socket.io,但从我的 Angular 2 应用程序中访问它的运气并不好。以下是有关我的设置的一些信息:
Angular 2:rc.5 角-cli:1.0.0-beta.11-webpack.2 节点:6.2.2 操作系统:Linux x64
我已经通过 npm 和类型安装了 socket.io,我在我的 node_modules 目录中看到了它,但是 Angular 2 应用程序似乎无法解析:
import * as io from 'socket.io-client';
我看过一篇关于如何使用 Webpack 及其配置文件解决此问题的帖子,但对于使用 angular-cli@webpack 生成的应用程序,这些似乎不存在。
【问题讨论】:
【参考方案1】:您只需要以下内容:
npm:
npm install socket.io-client --save
在您的 component.ts/service.ts 中导入
import * as io from 'socket.io-client';
您的 typings.d.ts 中的虚拟模块声明:
declare module 'socket.io-client'
var e: any;
export = e;
我不知道打字是否可用,但您可以尝试npm i @types/socket.io-client --save-dev
而不是仅仅声明一个假人。
任何 webpack 配置都应该由 angular-cli 处理。
【讨论】:
感谢您的回复,我已将这些步骤包含在我的项目中,并且似乎可以正常工作。至少到了我可以在我的服务中包含 socket.io 并创建一个套接字的程度,并且事情不会爆炸!我将替代我当前使用 socket.io 的 polling/http 服务,看看它是否都挂在一起。再次感谢您的帮助!!以上是关于在 angular-cli@webpack 中使用 socket.io-client的主要内容,如果未能解决你的问题,请参考以下文章
在 Observable RxSwift 中使用 'asPromise()' 可以在 PromiseKit Promise 中使用吗?
可以在 SELECT 查询中使用 IF() 但不能在 UPDATE 中使用