问题:访问http://localhost:3000/时看到3组控制台日志
预期输出:我应该只看到两个console.logs::第一中间件第二中间件
我有以下两个文件:
服务器. js::
const http = require('http');
const app = require('./backend/app');
const port = process.env.PORT || 3000;
app.set('port',port);
const server = http.createServer(app);
server.listen(port);
和app.js::
const express = require('express')
// big chain of middle ware
const app = express();
app.use( (req,res,next)=>{
console.log('First middleware');
next();
});
app.use( (req,res,next)=>{
console.log('Second middleware');
res.send('Hello from express');
});
// register what you want to export
module.exports = app;
由于某种神秘原因,当我访问http://localhost:3000/时,我在服务器控制台中看到三组控制台日志:
First middleware
Second middleware
First middleware
Second middleware
First middleware
Second middleware
我的页面没有重新加载3次lol
当我访问本地host 3000时,我可以看到输出“Hello from express”,但我不确定为什么这段代码会运行三次
我试着寻找其他类似的问题,但我没有看到任何类似的内容
2条答案
按热度按时间jw5wzhpr1#
这可能是由于在服务器上加载了其他文件,如样式表或javascript文件。请记住,所有请求,无论文件类型或路径如何,都将通过中间件进行路由。您也可以尝试使用
<Request>.originalUrl
字符串属性记录请求路径。eimct9ow2#
我认为这与谷歌Chrome扩展有关。当我在Private.com上打开浏览器时,它工作得很完美。