如何正确关闭Node.js Express服务器?

18 浏览
0 Comments

如何正确关闭Node.js Express服务器?

我需要在从/auth/github/callback URL获取回调后关闭服务器。通常使用HTTP API关闭服务器可以通过server.close([callback]) API函数来实现,但是在使用node-express服务器时,我遇到了TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'close'错误。我不知道如何找到解决这个问题的信息。

我应该如何关闭express服务器?

NodeJS配置说明:

$ node --version
v0.8.17
$ npm --version
1.2.0
$ npm view express version
3.0.6

实际应用代码:

var app = express();
// 配置Express
app.configure(function() {
    // … 配置
});
app.get(
    '/auth/github/callback',
    passport.authenticate('github', { failureRedirect: '/login' }),
    function(req, res) {
        res.redirect('/');
        setTimeout(function () {
            app.close();
            // TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'close'
        }, 3000)
    }
);
app.listen('http://localhost:5000/');

此外,我在‘nodejs express close…’找到了一些信息,但我不确定是否可以在我现有的代码中使用它:var app = express();

0