Несмотря на то, что это старый вопрос, я наткнулся здесь на поиски решения аналогичной проблемы. Попробовав некоторые решения здесь, я в конечном итоге пошел в другом направлении и подумал, что добавлю свое решение для всех, кто окажется здесь.
В Express 4.x вы можете получить экземпляр объекта маршрутизатора и импортировать другой файл, который содержит больше маршрутов. Вы даже можете сделать это рекурсивно, чтобы ваши маршруты импортировали другие маршруты, позволяя вам создавать простые для поддержки URL-пути. Например, если у меня уже есть отдельный файл маршрута для моей конечной точки «/ tests», и я хочу добавить новый набор маршрутов для «/ tests / automatic», я могу разбить эти «/ автоматизированные» маршруты на другой файл для сохранить мой файл / test небольшим и простым в управлении. Это также позволяет логически группировать маршруты по URL-пути, что может быть очень удобно.
Содержание ./app.js:
var express = require('express'),
app = express();
var testRoutes = require('./routes/tests');
// Import my test routes into the path '/test'
app.use('/tests', testRoutes);
Содержание ./routes/tests.js
var express = require('express'),
router = express.Router();
var automatedRoutes = require('./testRoutes/automated');
router
// Add a binding to handle '/test'
.get('/', function(){
// render the /tests view
})
// Import my automated routes into the path '/tests/automated'
// This works because we're already within the '/tests' route so we're simply appending more routes to the '/tests' endpoint
.use('/automated', automatedRoutes);
module.exports = router;
Содержание ./routes/testRoutes/automated.js:
var express = require('express'),
router = express.Router();
router
// Add a binding for '/tests/automated/'
.get('/', function(){
// render the /tests/automated view
})
module.exports = router;