在我的 Node.js 项目中,我使用路由器文件来导入具有实际方法实现的 Controller 文件。就像下面这样。
app.js
'use strict';
var express = require('express');
var app = express();
var apiRoutes = express.Router();
routes.mainApi(apiRoutes);
app.use('', apiRoutes);
api路由
'use strict';
var controller = require('../controller/apiController');
var uploadController = require('../controller/uploadController');
var fileUpload = require('express-fileupload');
module.exports.mainApi = function (apiRouter) {
apiRouter.post('/login', controller.login);
}
api Controller
exports.login = function (req, res) {
// My code for login
};
我知道当 api 请求到来时,首先执行 app.js。它进一步将请求发送到 apiRoutes,正如我在文件中调用的那样。在 apiRoutes 中找到时 apiRouts.post(./login,controller.login) 然后它从 Controller 调用登录函数。但我想知道我没有在登录函数中的任何地方传递 req 和 res 参数,那么它们是如何传递的。基本上这种类型的调用是如何工作的。 提前致谢。
最佳答案
此函数controller.login
作为 r.post('path', callback)
的回调参数
以及当 controller.login
被 callback(request, response )
实际调用时
你会得到req和res
关于node.js - 使用单独的 Controller 和路由器时的node.js路由流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49477065/