Node.js NodeJS-在服务器创建后设置http服务器请求侦听器

Node.js NodeJS-在服务器创建后设置http服务器请求侦听器,node.js,Node.js,在NodeJS中,通常会创建如下HTTP服务器: consthttp=require('http'); const requestListener=//创建监听器,例如使用express()创建监听器 const server=http.createServer(requestListener); 监听服务器(8080); 我的问题是,是否可以将请求侦听器的设置推迟到稍后的时间点(最好是在服务器已经在侦听之后) 我想要这样的东西: consthttp=require('http'); cons

在NodeJS中,通常会创建如下HTTP服务器:

consthttp=require('http');
const requestListener=//创建监听器,例如使用express()创建监听器
const server=http.createServer(requestListener);
监听服务器(8080);
我的问题是,是否可以将请求侦听器的设置推迟到稍后的时间点(最好是在服务器已经在侦听之后)

我想要这样的东西:

consthttp=require('http');
const server=http.createServer();
监听服务器(8080);
const requestListener=//创建监听器,例如使用express()创建监听器
setRequestListener(requestListener);

显然,我可以很容易地从HTTP server类继承创建这样的功能,但我很好奇NodeJS是否提供了一种内置的方法来实现这一点。

这是Node.js文档中关于
HTTP.createServer()
函数
requestListener
参数的说明:

requestListener
是一个自动添加到
请求
事件

进一步查看
createServer()
的实际代码-实际上它就是使用此参数所做的全部工作

因此,您可以在创建服务器后手动添加侦听器,从而获得类似的行为

server.on('request', requestListener)
只要您在请求到来之前设置它,它就可以正常工作