【问题标题】:Unable to get socket.io to start on the client side无法让 socket.io 在客户端启动
【发布时间】:2013-12-19 19:02:49
【问题描述】:

我正在尝试让 socket.io 在使用 JQuery 和 typescript 的客户端启动,但我无法这样做。我从这里得到了 socket.io 的 Typescript 定义。 (昨天更新的那个。)

https://github.com/borisyankov/DefinitelyTyped/blob/master/socket.io/socket.io.d.ts

代码如下:

var socket:Socket = io.connect('http://localhost');

这是我在控制台中遇到的错误。

Uncaught ReferenceError: io is not defined Start.ts:48
socketTest Start.ts:48
start Start.ts:11
(anonymous function) config.ts:24
i.execCb require.js:29
X.check require.js:18
(anonymous function) require.js:23
(anonymous function) require.js:8
(anonymous function) require.js:23
y require.js:7
X.emit require.js:23
X.check require.js:19
X.enable require.js:23
X.init require.js:17
D require.js:14
i.completeLoad require.js:28
i.onScriptLoad

--更新-- 我之前提到的.ts文件加载问题现在已经解决了。

【问题讨论】:

  • 您应该从浏览器下载 .ts 而不是 .js 的问题开始,因为它显然不会运行。在此之前尝试诊断任何事情都是没有意义的。

标签: javascript socket.io typescript


【解决方案1】:

我怀疑您不小心包含了 socket.io 的 TypeScript 定义,而不是 JavaScript 库...

<script src="scripts/socket.d.ts"></script>
<script src="scripts/start.ts"></script>

应该是:

<script src="scripts/socket.js"></script>
<script src="scripts/start.js"></script>

【讨论】:

  • 我正在使用 RequireJS 加载所有内容。有趣的是,我注意到我根本没有加载 socket.io - 我需要使用 RequireJS 来完成。你知道我在哪里可以找到 socket.io.js 吗?网站上似乎没有。
  • 完整的 socket.io 下载包含客户端版本,因为它通常由 socket.io 服务器提供。
猜你喜欢
  • 1970-01-01
  • 2021-02-14
  • 1970-01-01
  • 2016-08-16
  • 2015-11-15
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 2017-08-17
相关资源
最近更新 更多