我想要实现的是直接从模块发送响应,而不是从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.*/
}
答案 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);