如何通过 ES6 模块使用 Socket.IO 客户端?

Posted

技术标签:

【中文标题】如何通过 ES6 模块使用 Socket.IO 客户端?【英文标题】:How can I use the Socket.IO client though ES6 modules? 【发布时间】:2014-10-29 10:52:24 【问题描述】:

我目前正在使用 Ember-CLI 处理 Ember.js。 应用程序使用 ES6 模块将所需的功能导入每个“模块”。

我将使用 Web 套接字连接到 API,我想找到一些如何将 socket.io 作为 ES6 模块导入的示例。

【问题讨论】:

您能否详细说明接受的答案?我遇到了同样的问题SO Q。 嗨,你卡在哪一部分了?查看github.com/Wildhoney/EmberSockets 最终更改为 socket.io-client,这对我有用。感谢您的回复! 没问题。如果您遇到困难,请随时给我发消息。 【参考方案1】:

尝试 app.import 到你的 Brocfile 中,然后导出默认的 window.socketio

【讨论】:

您介意详细说明一下吗?将“导出默认window.socketio”放在哪里? 我假设这是打算使用 Ember.js 的 'app.import' 函数来完成的。如果您在源代码中代表“socket.io-client”模块的 js 文件中执行此操作,那么您将从该文件中“导出默认值”。这将为您提供一个不错的 socket.io-client 接口,您可以在其中导入它,就像通过它导入您的文件一样。 ** 假设 **【参考方案2】:

    通过 bower 获取 socket.io-client

    凉亭安装socket.io-client

    将库导入为“io”:

示例:

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

const socket = io.connect('http://localhost');
socket.on('connect', function (data) 
  console.log('Connected!');
  socket.emit('message', message:"Hello!");
);

【讨论】:

【参考方案3】:

我在这里找到了解决方案:How to use Socket.io with Next.js, Express...

import * as socketio from 'socket.io';
const io = new socketio.Server();
io.attach(server);

【讨论】:

以上是关于如何通过 ES6 模块使用 Socket.IO 客户端?的主要内容,如果未能解决你的问题,请参考以下文章

将 pm2 的集群模块与 socket.io 和 socket.io-redis 一起使用

Flask socket IO 从另一个模块发出

如何通过 Winston 登录 Socket.io?

可以将 socket.io 用于域套接字吗?

socket.io 入门篇

如何通过 socks5 代理使用 JavaScript socket.io-client 库?