为什么必须在Node中一步使用require并调用函数?

时间:2016-01-05 01:37:24

标签: node.js socket.io

使用socket.io示例作为我的示例:

为什么这在节点中起作用:

var io = require('socket.io').listen(server);

但是在两个不同的步骤中做到这一点不是吗? (即):

var io = require('socket.io');
io.listen(server);

1 个答案:

答案 0 :(得分:3)

案例1:

var io = require('socket.io').listen(server);

此处,io设置为从listen(server)模块调用socket.io的结果。

案例2:

var io = require('socket.io');
io.listen(server);

此处,io设置为socket.io模块本身。

所以他们执行相同的功能,但io最终设置为不同的值。

在案例1中看到的函数调用的链接是node.js中常见的习惯用法,但是如果你真的想要使用两行,而io仍然最终设置为1,那么只是分别捕获require电话的结果:

var socketio = require('socket.io');
var io = socketio.listen(server);