首页 > 解决方案 > NodeJS Express 中间件在没有 next() 的情况下转到下一个

问题描述

我正在尝试为 NodeJS 学习 Express,但我遇到了这个:

我正在尝试添加 2 个基于 url 的中间件,因此在 /user 上做某事并在 root 上做一些不同的事情。但是,即使我不使用根中间件,也总是会调用根中间件next(),如果我访问“/”url,根中间件会被调用两次。

const express = require('express');

const app = express();


app.use('/user', (req, res, next) => {
    console.log('In user middleware ');
    res.send('<h1>Hello from User page</h1>');
});

app.use('/', (req, res, next) => {
    console.log('In slash middleware !');
    res.send('<h1>Hello from Express !</h1>');
});

app.disable('etag');
app.listen(3000);

标签: node.jsexpress

解决方案


应该get与否post_use

-get或者post是路线

-use是中间件功能

检查这个

 const express = require('express');

  const app = express();


  app.get('/user', (req, res, next) => {
      console.log('In user middleware ');
      res.send('<h1>Hello from User page</h1>');
  });

  app.get('/', (req, res, next) => {
      console.log('In slash middleware !');
      res.send('<h1>Hello from Express !</h1>');
  });

  app.disable('etag');
  app.listen(3000);

推荐阅读