从NodeJS内部调用Express Route
我的API有ExpressJS路由,我想从NodeJS内调用它
var api = require('./routes/api')app.use('/api', api);
在我的 文件中
var express = require('express');var router = express.Router();
router.use('/update', require('./update'));
module.exports = router;
因此,如果我想/api/update/something/:withParam
从前端调用其所有查找内容,但是我需要从NodeJS脚本的另一个方面进行调用,而不必在第二个位置再次重新定义整个函数
我曾尝试从内部使用HTTP模块,但出现“ ECONNREFUSED”错误
http.get('/api/update/something/:withParam', function(res) { console.log("Got response: " + res.statusCode);
res.resume();
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
我了解Express背后的想法是创建路线,但是如何在内部调用它们
回答:
处理此问题的“常规”或“正确”方法是让您要调用的函数本身脱离所有路由定义。也许在自己的模块中,但不一定。然后在任何需要的地方调用它。像这样:
function updateSomething(thing) { return myDb.save(thing);
}
// elsewhere:
router.put('/api/update/something/:withParam', function(req, res) {
updateSomething(req.params.withParam)
.then(function() { res.send(200, 'ok'); });
});
// another place:
function someOtherFunction() {
// other code...
updateSomething(...);
// ..
}
以上是 从NodeJS内部调用Express Route 的全部内容, 来源链接: utcz.com/qa/413052.html