Javascript 如何从模块发送响应,并在RESTIFY中传递请求和响应对象

Javascript 如何从模块发送响应,并在RESTIFY中传递请求和响应对象,javascript,node.js,express,connect,restify,Javascript,Node.js,Express,Connect,Restify,我试图实现的是直接从模块发送响应,而不是从app.js发送响应 例如: /////app.js///// server.get('/user', function (req, res, next) { /*call a function of mymodule.*/ } /////mymodule.js///// function mymodule(){ /*Send my response from here.*/ } 据我所知,您试图实现的是在mymodule.js文件中公开一个函数 要

我试图实现的是直接从模块发送响应,而不是从app.js发送响应

例如:

/////app.js/////

server.get('/user', function (req, res, next) {
/*call a function of mymodule.*/
}
/////mymodule.js/////

function mymodule(){
/*Send my response from here.*/
}

据我所知,您试图实现的是在
mymodule.js
文件中公开一个函数

要做到这一点,您需要告诉node您想要在文件中导出什么。(您可以找到文档)

因此,要执行所需操作,需要导出函数mymodule。您可以通过这种方法来实现这一点:

// from mymodule.js
var mymodule = function(req, res){
  res.json({
    users: [
      // ...
    ]
  });
}
module.exports = mymodule;
这将在其他文件需要时公开函数mymodule。因此,在你的app.js上,你可以这样使用它:

// from app.js
var required_module = require(__dirname + '/mymodule');
// ...
server.get('/user', function (req, res) {
  required_module(req, res);
});
或其他方法:

// from app.js
var required_module = require(__dirname + '/mymodule');
// ...
server.get('/user', required_module);

感谢回复@swato。但我想实现的是从模块本身发送响应对象。正如您所提到的,您传递了req、res和next to module函数,但您能否更进一步,并解释如何使用命令res.send()将响应发送回客户机在模块中。我已经用模块本身的响应编辑了我的响应。