靜態文件和app.get衝突我有這樣一段代碼在這裏:即成使用Express.js
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'))
一行,那麼callaback就起作用了。我嘗試改變順序,但它像彩票!我寧願知道這裏出了什麼問題。
我相信這與我的知識缺乏有關如何調用中間件有關。有人能幫我理解這個問題嗎?
基本上我只想執行一些邏輯,然後才能提供文件並在瀏覽器上加載index.html。順便把app.get()
放在app.use(express.static())
之前,並沒有訣竅!
你有一個public/index.html文件嗎? –
是的,我有..... – limoragni
這就是爲什麼它壞了。刪除它,一切都會工作。可能有像「dir」這樣的選項來禁用索引文件夾,但我不確定 –