Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Роутеры в express 4 (https://javascript.ru/forum/node-js-io-js/64905-routery-v-express-4-a.html)

prog_f130 13.09.2016 11:41

Роутеры в 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 16:49

Вопрос снят.
Подключал
app.use(cookieParser);

вместо
app.use(cookieParser());


Часовой пояс GMT +3, время: 00:32.