Node.js NodeJS中需要('express')()做什么
据我所知,require'express并不创建服务器,它只是将功能捆绑在一起。但如果是这样的话,下面的代码在没有服务器的情况下如何运行Node.js NodeJS中需要('express')()做什么,node.js,express,Node.js,Express,据我所知,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
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!')
})
另外,如果它确实创建了一个服务器,为什么在下面的示例中需要导入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');
});
我很困惑。提前感谢。require'express'创建一个express应用程序实例
它是这个的简称:
var express = require('express');
var app = express();
如果要创建http服务器,不需要显式使用http,因为如果调用app.listen,Express将为您创建一个http服务器
如果您需要该服务器用于其他用途,例如,将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);
require'express'创建express应用程序的实例
它是这个的简称:
var express = require('express');
var app = express();
如果要创建http服务器,不需要显式使用http,因为如果调用app.listen,Express将为您创建一个http服务器
如果您需要该服务器用于其他用途,例如,将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);
基本上,当您确实需要“express”时,它会导入一个函数。下面的代码也调用该函数。基本上,它实例化了一个express应用程序。基本上,当您确实需要“express”时,它会导入一个函数。下面的代码也调用该函数。基本上,它实例化了一个express应用程序。第二个示例使用http,因为它还使用socket.io,这需要http服务器。您可以使用express app实例化这样的http服务器,这就是我们正在做的事情。第一个示例不需要http服务器吗?它从express app创建http协议服务器,但不使用http模块中的服务器,第二个示例使用http,因为它也使用socket.io,而socket.io需要http服务器。您可以使用express应用程序实例化这样的http服务器,这就是我们正在做的。第一个示例不需要http服务器吗?它从express应用程序创建http协议服务器,但不使用http模块中的服务器,而第二个示例需要感谢您。这是否消除了socket.io对http的需求?@SKG它消除了http的显式使用,是的。在内部,Express会调用http.createServer来创建服务器。谢谢。这是否消除了socket.io对http的需求?@SKG它消除了http的显式使用,是的。在内部,Express会调用http.createServer来创建服务器。