Доброго дня! Просматриваю скринкасты по node.js, но использую версию express при этом 4, попутно пытаясь разобраться в механизмах.
вынес соответственно в основной модуль
var express = require('express'),
config = require('./config'),
log = require('./libs/log')(module),
app = express(),
middleware = require('./middleware')(app, config),
routes = require('./routes')(app);
app.listen(config.get('port'), function(){
log.info('Server started and listenning on ' + config.get('port') + ' port.');
});
Где подключается модуль с мидлварвми
module.exports = function(app, config){
var favicon = require('serve-favicon'),
mongoose = require('../libs/mongoose'),
morgan = require('morgan'),
bodyParser = require('body-parser'),
coockieParser = require('cookie-parser'),
session = require('express-session'),
MongoStore = require('connect-mongo')(session),
jade = require('jade');
app.use(favicon('./public/favicon.ico'));
...
app.use(session({
secret: config.get('session:secret'),
key: config.get('session:key'),
cookie: config.get('session:cookie'),
resave: config.get('session:resave'),
saveUninitialized: config.get('session:saveUninitialized'),
store: new MongoStore({ mongooseConnection: mongoose.connection })
}));
};
И модуль с роутами
module.exports = function (app){
app.get('/', require('./frontpage').get);
app.get('/login', require('./login').get);
app.post('/login', require('./login').post);
};
При этом не передается управление роутам. Т.е. страница висит и браузер ждет ответа от сервера. Если подключать модуль routes в модуле middleware
var routes = require('../routes')(app);
то роуты работают, но при этом не отрабатывают мидлвары (сессии, бодипарсеры после отправки данных формой не вешают на req соответствующие параметры).
Собственно вопрос, что я делаю не так, и чего я недопонимаю? Спасибо.