Я создаю webapp в виде сети с основными CRUD-действиями. Я в процессе разделения моих файлов маршрутизатора, поскольку они становятся довольно большими.Как достичь DRY-маршрутизаторов в expres
У меня есть маршрут «действия», который выполняет такие функции, как выбор в отдельном сообщении для просмотра, голосования на почте, просмотра профиля и оценки пользователя. Я не могу найти способ разрешить мне разбить эти маршруты действий в отдельный файл, а затем использовать их по мере необходимости на основном маршруте.
//index.js file in routes folder
var express = require('express');
var router = express.Router();
//main route
router.route('/feed')
.get(function(req, res, next){
//some code here
}
//actions.js file in routes folder
var express = require('express');
var router = express.Router();
//vote route
router.route('/vote/:id')
.post(function(req, res, next){
//some code here
}
//item route
router.route('/item/:id')
.get(function(req, res, next){
//some code here
}
Я хотел бы иметь возможность использовать маршруты действий внутри проволокоподающих маршрутов (и другие маршруты) Так что я могу делать вещи, как
POST /feed/vote/postid12356
GET /feed/item/itemid123456
или даже в другой маршрут под названием «частный -Feed», используя одни и те же действия от маршрута действия
POST /private-feed/vote/postid12356
GET /private-feed/item/itemid123456
Без того, чтобы эти действия повторяются во многих маршрутах.
Есть ли способ выразить, что это можно сделать?
Так, например, каждый маршрут в item.js я бы для каждого действия router.route ('/ item /: id'). get (ActionController.get); router.route ('/ vote /: id'). Get (ActionController.get); и т. Д. – aleks
Забудьте об этом ответе, проделали некоторые тесты, обманывая его и сумели заставить его работать. Огромное спасибо! – aleks
@aleks добро пожаловать! –