var express = require('express');
var app = express();
var PORT = 3000;
// This middleware will not allow the
// request to go beyond it
app.use(function (req, res, next) {
console.log("Middleware called")
next();
});
// Requests will never reach this route
app.get('/user', function (req, res) {
console.log("/user request called");
res.send('Welcome to GeeksforGeeks');
});
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
你能解释一下“这个中间件不允许超出它的请求”。事实上,输出是正确的,但为什么这样写? 代码来自geeksforgeeks
答案 0 :(得分:0)
由于第一个中间件有 next() 调用,它肯定会将处理传递给下一步(即下一个适当的中间件函数),因此,看起来注释无效。
在控制台日志中,您应该至少看到中间件调用行。
答案 1 :(得分:0)
app.use() 和 app.get() 有什么区别? 好吧,GET 是一种用于从服务器接收数据的 HTTP 方法。例如一个 HTML 页面。 但是中间件是在实际服务器方法之前调用的应用程序,您可以访问称为 next() 的东西以将请求传递到下一个路由。例如,您可以定义一个中间件来检查用户登录,如果它已登录,您可以将其传递给下一个路由。
关于该代码: 评论不正确!由于中间件中使用了 next(),中间件将允许请求超出范围。