Mam ten fragment kodu tutaj:służyć plików statycznych i konflikt app.get pomocą 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');
});
Kod wewnątrz app.get()
zwrotnego nie jest wywoływana. Jeśli skomentuję linię app.use(express.static(__dirname + '/public'))
, działa funkcja Callaback. Próbowałem zmienić kolejność, ale to jest jak loteria! Wolałbym wiedzieć, co tu jest nie tak.
Jestem pewien, że ma to związek z brakiem wiedzy z mojej strony na temat tego, jak nazywa się oprogramowanie pośredniczące. Czy ktoś może mi pomóc zrozumieć ten problem?
Zasadniczo po prostu chcę wykonać trochę logiki, zanim pliki zostaną wyświetlone, a index.html zostanie załadowany do przeglądarki. Przy okazji umieszczenie linii app.get()
przed linią app.use(express.static())
nie rozwiązało problemu!
Czy masz plik public/index.html? –
Tak, mam ..... – limoragni
Dlatego jest uszkodzony. Usuń go i wszystko będzie działać. Może istnieć opcja "dir" do wyłączania indeksów dla folderów, ale nie jestem pewien –