Что делают эти три строки кода при инициализации приложения express в Node.js с помощью socket.io? - PullRequest
0 голосов
/ 04 апреля 2020

Может кто-нибудь объяснить эти три строки кода?

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 в качестве параметра?

1 Ответ

2 голосов
/ 04 апреля 2020

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...