Это хороший рецепт для определения нового маршрутизатора, как показано выше.Если промежуточное программное обеспечение и функции обработчика маршрутов не используются повторно, их можно использовать на месте.Он не должен знать о wallet
части, потому что он является общим для всех маршрутов:
const router = require('express').Router()
router.post('/generate', async (req, res) => {...})
router.get('/address', async (req, res) => {...})
router.get('/balance', async (req, res) => {...})
router.use('/transfer', function handleInvalidAddress(req, res, next) {...})
router.post('/transfer', async (req, res) => {...})
module.exports = router;
И монтировать его следующим образом:
const walletRouter = require('./routes/wallet')
appRouter.use('/wallet', walletRouter);
В случае wallet
маршрутов нужноПо какой-то причине для распределения между несколькими модулями (например, системой плагинов) может быть полезно использовать внедрение зависимостей:
module.exports = router => {
router.post('/generate', async (req, res) => {...})
router.get('/address', async (req, res) => {...})
router.get('/balance', async (req, res) => {...})
router.use('/transfer', function handleInvalidAddress(req, res, next) {...})
router.post('/transfer', async (req, res) => {...})
};
и монтировать его следующим образом:
const walletRouter = Router();
require('./routes/wallet')(walletRouter);
appRouter.use('/wallet', walletRouter);