我在这里有这段代码:
var express = require('express')
, http = require('http')
var app = express();
var server = app.listen(1344);
var io = require('socket.io').listen(server);
app.use(express.static(__dirname + '/public'));
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({secret: 'secret'}));
app.get('/', function(req, res){
if(req.session){
console.log(req.session);
}
console.log('ok');
});
回调中的代码app.get()
没有被调用。如果我注释掉该app.use(express.static(__dirname + '/public'))
行,则回调有效。我试过改变顺序,但这就像彩票一样!我更想知道这里出了什么问题。
我确信这与我缺乏关于如何调用中间件的知识有关。有人可以帮我理解这个问题吗?
基本上,我只想在提供文件并将 index.html 加载到浏览器之前执行一些逻辑。顺便把app.get()
前面的app.use(express.static())
线,不成功!