много функций в одном промежуточном программном обеспечении expressjs restful api - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть сомнения по поводу промежуточного программного обеспечения в экспрессе.

Я хочу, чтобы многие мыслили в одном промежуточном программном обеспечении. Например

У меня есть этот код у меня промежуточное программное обеспечение

module.exports = function(req,res,next) {
    if(req.method === 'GET') {
        res.end('GET method not supported');
    } else {
        next();
    }
}; 

и я использую это так

app.route('/', <the_middleware>, (res, req, next) => {
 // Code
})

Но мне интересно, возможно ли сделать что-то подобное

app.route('/', <the_middleware>.<the function1>, (res, req, next) => {
     // Code
    })

app.route('/', <the_middleware>.<the_function2>, (res, req, next) => {
     // Code
    })

есть ли возможность сделать что-то вроде

 function function1 (req,res,next) {
        if(req.method === 'GET') {
            res.end('GET method not supported');
        } else {
            next();
        }
    }; 

 function function2 (req,res,next) {
        if(req.method === 'GET') {
            res.end('GET method not supported');
        } else {
            next();
        }
    }; 

module.exports = <I don`t know what go here>

Спасибо.

Обновление. ЭТО работает, мой код сейчас

роутер

router.post('/', checkAuth.sayHi, checkAuth.sayBye, (req, res, next) => {

    console.log('good');
    res.status(200).send('it works');
    console.log('yes');

});

Промежуточное программное обеспечение

module.exports = {

    sayHi(req, res, next) {
        console.log('hi');
        next();

    },

    sayBye(req, res, next) {
        console.log('bye')
        next();
    }
};

1 Ответ

1 голос
/ 08 апреля 2019

Вы можете просто экспортировать объект, содержащий обе функции:

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