【问题标题】:Using socket.io-client in angular-cli@webpack在 angular-cli@webpack 中使用 socket.io-client
【发布时间】: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 生成的应用程序,这些似乎不存在。

【问题讨论】:

    标签: angular socket.io webpack angular-cli


    【解决方案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 服务,看看它是否都挂在一起。再次感谢您的帮助!!
    猜你喜欢
    • 2018-04-20
    • 2017-11-29
    • 2017-06-23
    • 2017-11-11
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    相关资源
    最近更新 更多