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

时间:2014-08-22 07:13:59

标签: 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.*/
}

1 个答案:

答案 0 :(得分:1)

根据我的理解,您尝试实现的是在mymodule.js文件中公开一个功能。

为此,您告诉节点您希望在文件中导出。 (您可以找到文档here)。

为了做你想做的事,你需要导出函数 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);
});

或其他approch:

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