Node新手——require('express')的目的
Node novice - purpose of require('express')
在下面这个简单的socketIo服务器中,任何节点忍者都可以解释第一行的目的。我没有使用 express 来实际创建基于 http 的服务器,所以没有它也能正常工作吗?
有点迷糊...
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(8080);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
console.log('connection '+socket);
socket.on("data",function(d){console.log('data from flash: ',d);});
socket.emit("message","hello from server");
socket.emit('news', { hello: 'world' });
socket.on('disconnect', function (data) {
console.log(' disconnect');
});
});
行:
var app = require('express')();
加载 express
模块(这就是 require(...)
所做的)然后调用其构造函数对其进行初始化,然后将结果分配给名为 app
的变量。然后,您的代码会在其他几个地方使用 app
变量。
这些步骤是使用 express
模块所必需的。
请注意您的代码如何将 app
(由 Express 创建)传递到您的 http 服务器。这个挂钩作为请求侦听器表达到您的 http 服务器中,以便它可以提供您随后与 app.get(...)
.
一起使用的路由功能。
如果删除第一行,您的代码将根本无法运行。
您可以在不使用 Express 的情况下创建普通 HTTP 服务器,但是您必须编写自己的 requestListeners,并且无法使用 Express 的许多其他路由和中间件功能。
在下面这个简单的socketIo服务器中,任何节点忍者都可以解释第一行的目的。我没有使用 express 来实际创建基于 http 的服务器,所以没有它也能正常工作吗? 有点迷糊...
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(8080);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
console.log('connection '+socket);
socket.on("data",function(d){console.log('data from flash: ',d);});
socket.emit("message","hello from server");
socket.emit('news', { hello: 'world' });
socket.on('disconnect', function (data) {
console.log(' disconnect');
});
});
行:
var app = require('express')();
加载 express
模块(这就是 require(...)
所做的)然后调用其构造函数对其进行初始化,然后将结果分配给名为 app
的变量。然后,您的代码会在其他几个地方使用 app
变量。
这些步骤是使用 express
模块所必需的。
请注意您的代码如何将 app
(由 Express 创建)传递到您的 http 服务器。这个挂钩作为请求侦听器表达到您的 http 服务器中,以便它可以提供您随后与 app.get(...)
.
如果删除第一行,您的代码将根本无法运行。
您可以在不使用 Express 的情况下创建普通 HTTP 服务器,但是您必须编写自己的 requestListeners,并且无法使用 Express 的许多其他路由和中间件功能。