【发布时间】:2015-07-24 03:37:46
【问题描述】:
我从socket.io docs 获得以下代码:
var server = require('http').createServer();
var io = require('socket.io')(server);
io.on('connection', function(socket){
socket.on('event', function(data){});
socket.on('disconnect', function(){});
});
server.listen(3000);
第二行的语法对我来说似乎很奇怪:
var io = require('socket.io')(server);
我所理解的是require 是一个将socket.io 作为参数的函数。但是为什么server 会出现在最后呢?
【问题讨论】:
-
这意味着
require("socket.io")返回一个函数。如果您使用参数server执行该函数,它将返回一个具有使用websocket的函数的对象。(如on您正在使用)所以你放的代码是下面代码的缩短版本。var Io = require("socket.io");var io = Io(server);