Навіть незважаючи на це старіше запитання, я натрапив сюди, шукаючи рішення подібного питання. Спробувавши деякі рішення тут, я закінчився іншим напрямком і подумав, що додам рішення для всіх, хто опиниться тут.
У виразу 4.x ви можете отримати екземпляр об’єкта маршрутизатора та імпортувати інший файл, який містить більше маршрутів. Ви навіть можете це робити рекурсивно, щоб ваші маршрути імпортували інші маршрути, що дозволяє створювати прості у обслуговуванні шляхи до URL. Наприклад, якщо у мене вже є окремий файл маршруту для моєї кінцевої точки '/ тести' і я хочу додати новий набір маршрутів для '/ тестів / автоматизованих', я можу захотіти розбити ці '/ автоматизовані' маршрути в інший файл, щоб збережіть мій файл '/ 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;