2013-12-19 144 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