Express.js库中关闭服务器的方法是什么?为何.close()似乎非其方法?
Express.js 关闭服务器的正确方法
你说的没错,Express库本身并没有提供直接关闭服务器的close()方法——这个方法属于Node.js原生的HTTP/HTTPS服务器实例,而非Express的app对象。
实际的正确用法是:当你调用app.listen()启动服务时,它会返回一个Node.js的http.Server(或https.Server)实例,你需要保存这个实例,之后调用它的close()方法来关闭服务器。
示例代码:
const express = require('express'); const app = express(); // 启动服务,保存返回的server实例 const server = app.listen(3000, () => { console.log('服务器运行在 3000 端口'); }); // 调用server实例的close()方法关闭服务器 server.close((err) => { if (err) { console.error('关闭服务器时出错:', err); process.exit(1); } console.log('服务器已成功关闭'); });
补充说明:
close()方法会停止接收新的请求,同时等待当前正在处理的请求完成后再关闭服务。- 可以传入回调函数,用来处理关闭过程中的错误或执行后续逻辑。
内容的提问来源于stack exchange,提问作者Charles Chester
相关产品推荐
相关产品推荐

