метод запроса журнала на маршрутизацию - PullRequest
0 голосов
/ 12 октября 2018

Для моего проекта NodeJ я использую Express-роутер.Я создал router.js

module.exports = (app) => {
    app.use('/', require('./routes/home.js'));
    app.use('/contact', require('./routes/contact.js'));
    app.use('/imprint', require('./routes/imprint.js'));
};

и в моем app.js мне требуется этот файл require('./server/router.js')(app);.При вызове маршрута, например /contact, мне требуется contact.js

const express = require('express');
const router = express.Router();

router.get('/', (req, res) => {
    res.render('contact', { // render contact.hbs
        title: 'Contact' // pass in some template variables
    });
});

module.exports = router;

В router.get я могу использовать console.log(req.method) для регистрации метода HTTP.В настоящее время я должен был бы регистрировать это во всех файлах маршрутизатора.Можно ли иметь код в одном месте, например

module.exports = (app) => {
    console.log(req.method); // Log the request method for all routes

    app.use('/', require('./routes/home.js'));
    app.use('/contact', require('./routes/contact.js'));
    app.use('/imprint', require('./routes/imprint.js'));
};

Пожалуйста, предоставьте решение без установки промежуточного программного обеспечения.Я знаю, что там много регистраторов.

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Если вы хотите избежать установки промежуточного программного обеспечения и использовать console.log, вы можете изменить свой код следующим образом:

module.exports = (app) => {
    app.use((req, res, next) => {
       console.log('Request Type:', req.method);
       console.log('Time:', Date.now());
       next();
    })

    app.use('/', require('./routes/home.js'));
    app.use('/contact', require('./routes/contact.js'));
    app.use('/imprint', require('./routes/imprint.js'));
};

Если вы не указали маршрут, но включили обратный вызов next, тосначала он выполнит ваш код регистрации, а затем соответствующую маршрутизацию, если она есть.Более подробную информацию можно найти в разделе «Использование промежуточного программного обеспечения» в документации ExpressJS API .

.
0 голосов
/ 12 октября 2018

Вы можете использовать ниже промежуточное программное обеспечение регистратора HTTP-запросов для node.js, и вам не нужно ничего добавлять в коде.Просто настройте его в своем основном приложении, и оно сделает всю работу.

https://www.npmjs.com/package/morgan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...