如何通过 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 客户端?的主要内容,如果未能解决你的问题,请参考以下文章