Node.js ExpressFinalHandler无法在发送标头后执行404

Node.js ExpressFinalHandler无法在发送标头后执行404,node.js,express,Node.js,Express,我有一个express应用程序,并添加了新路线: 这是路线: var router = require('express').Router(); router.post('/',function (req, res, next) { res.send("Ok"); }); module.exports = router; 现在,当我向这条邮政路线提出每一个请求时,我都会在快递日志上看到: finalhandler无法在发送标头后执行404操作 当调用DB时,finalhandler会为

我有一个express应用程序,并添加了新路线:

这是路线:

var router = require('express').Router();

router.post('/',function (req, res, next) {
  res.send("Ok");
});

module.exports = router;
现在,当我向这条邮政路线提出每一个请求时,我都会在快递日志上看到:

finalhandler无法在发送标头后执行404操作

当调用DB时,finalhandler会为每个请求发送404

所以我猜我的函数和最终的句柄之间存在某种竞争

有人知道吗

更新:

这是index.js

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var expressValidator = require('express-validator');

var _ = require('underscore');
var stringUtils = require("underscore.string");

var mongoose = require('mongoose');
mongoose.connect(config.mongoUrl);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(expressValidator());

var middleware = require('./middleware/authentication-middleware');
app.use(middleware.allowCrossDomains);
app.all('*', loginMiddlewareSkip);

var skipAuthPaths = ['/auth/fb', '/auth/login', '/auth/signup',     '/auth/forgot', '/auth/reset'];
function loginMiddlewareSkip(req, res, next) {
    if (stringUtils.startsWith(req.path, "/auth") || req.path ==     '/status'){ 
        return next();
    }

    middleware.ensureAuthenticated(req,res,next);
    next();
}

app.use('/passport', require('./routes/passport'));
app.use('/auth', require('./routes/authenticate'));


app.listen(3000, function() {
    console.log('Express server listening on port ' + 3000);
});

上面的文件是
routes/passport
,身份验证文件工作正常

好的问题出在我的一个中间件上:

在我调用的
loginMiddlewareSkip
函数中
middleware.ensureAuthenticated(req,res,next)
如果路径需要身份验证,则在我调用的函数中
next()
如果身份验证成功,您可以看到,我在调用
ensureAuthenticated
函数后再次调用next()


loginMiddlewareSkip
中删除
next()
解决了需要发布更多代码的问题。@TannerFaulkner我已经添加了索引jsWhere's
finalhandler
?@TannerFaulkner它不是我的。。这是一种明确的依赖关系