首页 > 解决方案 > Express中间件卡在中间

问题描述

我正在尝试使用 express().router 作为快速服务器的中间件。

这是快递服务器的代码 -

const server = express();
const port = process.env.PORT || 5000;
server.use(logger("short"));

server.use(respomnseTime(4)) // The number indicate how digits we want

server.use('/', mRouter);

server.use((request, response, next)=>{
  mUtil.print("Request IP: " + request.url);
  mUtil.print("Request Date: " + new Date());
  next();
})

server.use((request, response, next)=>{
  mUtil.auth(request, response, next);
})

server.use((request, response, next)=>{
  console.log("Middleware 2");
  next();
})

这是路由器的代码(另一个文件) -

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

router.get('/', (request, response) => {
  response.send({ express: 'YOUR EXPRESS BACKEND IS CONNECTED' });
});

router.get('/user/:username', (request, response)=>{

});

router.get('/about', (request, response)=>{

});

router.get('/contact', (request, response)=>{

});

看起来他在中间件之后 -

server.use('/', mRouter);

没有运行。我认为问题的发生是因为没有调用next()函数,但我不确定如何编写它。有人有想法吗?

标签: node.jsexpress

解决方案


你应该像下面这样导出你的路由器

module.exports = router;

推荐阅读