gpt4 book ai didi

node.js - req 和 res 如何在 Express.js 中跨模块访问

转载 作者:搜寻专家 更新时间:2023-11-01 00:26:57 25 4
gpt4 key购买 nike

在使用 express.js 处理各种路由时,我想将所有路由代码封装在一个单独的模块中,但是如何跨模块访问 req 和 res 对象,请参见下面的代码主文件examples.js写法如下

var app = require('express').createServer();
var login = require('./login.js');
app.get('/login', login.auth(app.req, app.res));
app.listen(80);

我想要的是将登录处理代码编写在一个名为 login.js 的单独模块/文件中,接下来的问题是如何在 login.js 中访问响应对象。我认为以下代码将无法正常工作,因为 req 和 res 的类型未解析。

exports.auth = function(req, res) {
res.send('Testing');
}

因此,当我使用 node example.js 启动服务器时,出现错误

'无法调用未定义的方法发送'

Request 和 REsponse 对象是如何沿模块传递的

最佳答案

这应该有效:

app.get('/login', login.auth);

您的示例试图将 login.auth 函数的返回值作为请求的 get 处理程序传递。上面的代码改为将 login.auth 函数本身作为处理程序传递。

关于node.js - req 和 res 如何在 Express.js 中跨模块访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5702509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com