首页 > 解决方案 > 在 Node.js 中使用 socket.io 初始化 express 应用时,这三行代码做了什么?

问题描述

谁能解释一下这三行代码?

var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);

据我了解,第一行代码用于初始化 express.js,但空括号是做什么用的?

第二行代码用于初始化http服务器,但它的目的是.createServer(app)什么?为什么它接受app作为参数?

第三行用于初始化 socket.io,但第二个括号的目的是什么(http)。为什么它接受http作为参数?

标签: javascriptnode.jsexpresssocket.io

解决方案


var app = require('express')();相当于

var Express = require('express') // load express node module
var app = Express() // create Express server instance

同样,var http = require('http').createServer(app);等于

var http = require('http') // loads http module
var serverOnSomePort = http.createServer(app) // create responding to user requests Express server 

最后,var io = require('socket.io')(http);

var socketio = require('socket.io') // loading socket.io npm module
var io = socketio(serverOnSomePort) // connects socket to running server

推荐阅读