2013-12-19 99 views
0

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

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 

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

+3

你应该从问题在浏览器中启动正在下载.ts而不是.js,因为它显然不会运行。在此之前尝试诊断任何事情都是毫无意义的。 –

回答

0

我怀疑你不小心列入socket.io而不是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> 
+0

我正在使用RequireJS加载所有内容。有趣的是,我注意到我并没有加载socket.io - 我需要使用RequireJS来完成。你知道我在哪里可以找到socket.io.js吗?在网站上似乎不可用。 – EternallyCurious

+0

完整的socket.io下载包含客户端版本,因为它通常由socket.io服务器提供。 – Chris