Показать сообщение отдельно
  #1 (permalink)  
Старый 13.09.2016, 11:41
Интересующийся
Отправить личное сообщение для prog_f130 Посмотреть профиль Найти все сообщения от prog_f130
 
Регистрация: 24.08.2016
Сообщений: 20

Роутеры в express 4
Доброго дня! Просматриваю скринкасты по 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 соответствующие параметры).

Собственно вопрос, что я делаю не так, и чего я недопонимаю? Спасибо.

Последний раз редактировалось prog_f130, 13.09.2016 в 11:54.
Ответить с цитированием