据我所知,require('express')()不创建服务器,它只是将功能捆绑在一起.但如果是这样,以下代码如何在没有服务器的情况下运行?
const express = require('express')
const app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})
Run Code Online (Sandbox Code Playgroud)
此外,如果它确实创建了服务器,为什么我需要导入http模块并在以下示例中手动创建服务器?
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
Run Code Online (Sandbox Code Playgroud)
我很迷茫.提前致谢.
require('express')() 创建Express应用程序的实例.
它的简称:
var express = require('express');
var app = express();
Run Code Online (Sandbox Code Playgroud)
http如果要创建HTTP服务器,则无需显式使用,因为如果您调用,Express将为您创建一个app.listen().
如果您需要该服务器用于其他内容,例如,要附加socket.io实例,您可以使用:
var express = require('express');
var app = express();
var server = app.listen(3000, ...); // returns an `http.Server` instance
var io = require('socket.io')(server);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
737 次 |
| 最近记录: |