Node.js 将中间件放在节点js+;快车
我在带有express的node js中为rest api提供了不同的文件Node.js 将中间件放在节点js+;快车,node.js,rest,express,Node.js,Rest,Express,我在带有express的node js中为rest api提供了不同的文件 app.js 路由器.js controller.js app.js var routes = require('./source/router'); ....... app.use('/application', routes); 路由器.js var express = require('express'); var controller= require('./controller'); var router =
var routes = require('./source/router');
.......
app.use('/application', routes);
路由器.js
var express = require('express');
var controller= require('./controller');
var router = express.Router();
router.route('/register').post(controller.register);
controller.js
module.exports = {
register : function(req,res){
}
}
它工作得很好,但我只想在register的端点中放置一个中间件。我尝试过不同的方法,但都不管用。我想保留此结构。想要保持相同的结构会限制您的选择,但请尝试这样做:
function customMiddleware(req, res, next) {
//your code
next();
}
router.route('/register').post(customMiddleware, controller.registerHero);
如果(err)抛出err,为什么您希望
if(err)抛出err代码>要做什么?@jfriend00你是说我期望它做什么?好吧,它不会做任何有用的事情。它可能应该调用next(err)
。在路由处理程序的中间不只是随机地>代码>投掷< /代码>。很多人似乎认为,if(err)抛出err
在服务器开发中非常有用。除非代码是同步的,并且您已经专门定义了一个异常处理程序来处理该异常,否则它几乎永远都不是正确的。请您将答案标记为正确的@avedemaroukian,然后我把它放在这里!