javascript - 在 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
作为参数?
解决方案
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
推荐阅读
- node.js - 如何删除旧版本的node js?
- javascript - 获取推特 json 数据
- sql - 如何使用 maxID+1 插入第一个值
- c# - WPF 防止 TextBox 吞下 KeyDown 事件
- javascript - react-native-communications 存在一些问题
- google-chrome - Chrome 和 Firefox 通过 Gitlab-runner 始终以无头模式运行
- android - Android:监控互联网连接的最佳方式
- curl - 415 不支持的媒体类型通过 CURL 将文件上传到 Box.com
- mysql - AWS Lambda 错误:Quit 时退出不活动超时
- angular - 以正确的顺序在管道中执行水龙头并忽略结果