我正在尝试使用typescript,routing和jade重新创建this教程。我的代码按预期编译和运行,jade文件正确提供,但似乎不是客户端套接字和服务器端套接字之间的连接。作为参考,教程中的代码设置如下:
Javascript文件:
var io = require('socket.io')(http);
io.on('connection', function(socket){
console.log('a user connected');
});
html文件:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
</script>
我的看起来像这样:
服务器端:
import io = require('socket.io');
var server: SocketIO.Server = io();
server.on('connection', function(socket){
console.log('A user connected');
});
客户方:
declare var io: SocketIOClientStatic;
var socket = io();
我已将相关的服务器和客户端代码移到不同的位置,并尝试了一些不同的东西。我已经为客户端使用了常规的javascript(与教程完全相同),我已经将脚本移动到了jade文件中,并且我已经在app.ts和index中移动了服务器端脚本。 ts(app.ts路由到)。我还没能从连接事件中获取记录的消息。
答案 0 :(得分:0)
你的Javascript(稍微重写):
var io = require('socket.io');
var server = io(http);
server.on(...);
你的打字稿:
import io = require('socket.io');
var server: SocketIO.Server = io();
^^ where is `http`?
server.on(...)