node.js - 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);
解决方案
应该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);
推荐阅读
- nativescript - 如何在 Nativescript 的 Textview 中添加图像?
- javascript - 在 iFrame 中调用 ASPX 文件
- java - Android 9 及更高版本上的 CMS 加密
- javascript - 具有异步等待的数组减少功能
- c - 为什么 fread 循环需要额外的 Ctrl+D 来用 glibc 发出 EOF 信号?
- c# - Restier - 实体框架 - LOADMEMORYQUERY
- javascript - 即使条件不满足,如果条件被执行
- pygame - 如何找到被 blit 到屏幕上的图像的位置(python,pygame)
- javascript - 仅当值不存在时检查并将日期键和值添加到现有 json 对象
- c++ - ARM __sqrtf 函数要包含哪个头文件?