node.js - 使用单独的 Controller 和路由器时的node.js路由流程

标签 node.js routes

在我的 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 调用登录函数。但我想知道我没有在登录函数中的任何地方传递 reqres 参数,那么它们是如何传递的。基本上这种类型的调用是如何工作的。 提前致谢。

最佳答案

此函数controller.login
作为 r.post('path', callback) 的回调参数

以及当 controller.logincallback(request, response ) 实际调用时 你会得到req和res

关于node.js - 使用单独的 Controller 和路由器时的node.js路由流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49477065/

相关文章:

node.js - 微软团队机器人自适应卡片轮播删除卡片

node.js - 与 Mongoose 的奇怪约会行为

javascript - 如何检查 Node.js 中的 Async-await 是否发生错误?

mysql - 在 Dockerfile 中创建动态用户 - MySQL

javascript - 从 console.log 中删除多余的对象

javascript - Node.js 路由 : Adding route handlers to an already instantiated http server

ruby-on-rails - 删除 Gem 中指定的路由?

node.js - Express 路由器不调用返回空 obj 的 get 请求

javascript - 如何在加载、后退和前进时运行函数

asp.net-mvc - ASP.NET MVC 路由 : How to define custom route