Aksariyat Express ilovalari uchun barcha marshrutlaringizni o'z ichiga olgan bitta fayl yaratish standart hisoblanadi. Bu faylni app.jsʼda talab qiling va “/”vaga boʻlgan har qanday soʻrovga moʻljallangan app.use bayonotini qoʻshing.

const express = require('express');
const routes = require('./routes/index');
const app = express();
app.use('/', routes);

Ushbu yondashuv ko'pchilik loyihalar uchun ishlaydi, lekin u marshrutlarning uzoq ro'yxatiga olib kelishi mumkin. Har biri birin-ketin tashlanadi va har biri bir xil konstruksiyadan keyin:

router.get('/', ....);
router.get('/bears/habitats', ...);
router.post('/panthers', ...)
router.get('/lions', ...);
...

Ko'proq modul yondashuvi app.useiborasini app.js.dan ajratishdir.

Dan ko'ra:

app.use('/', routes);

marshrutlar barcha marshrutlaringizning eksport qilinadigan ob'ekti bo'lsa, Express ilovani parametr sifatida qabul qiluvchi funksiyani eksport qiling. Keyin siz funktsiyada talab qilishingiz, ilovani topshirishingiz va ushbu funktsiyaga app.use barcha bayonotlarini amalga oshirishga ruxsat berishingiz mumkin.

Bu amalda qanday ko'rinadi?

Ilovangiz URL mantiqining har bir qismi uchun app.use bayonotini chaqiradigan marshrutizator indeks faylini yarating.

// routes/index.js
const api = require('./api');
module.exports = function(app) {
app.use('/api', api);
};

api.js qayerda ko'rinadi:

// routes/api.js
const express = require('express');
const apiRoutes = express.Router();
apiRoutes.get('/',...);
apiRoutes.get('/Jaguars',...);
module.exports = apiRoutes;

Keyin app.js da marshrutda index.js ilovasini qaytarilgan funksiyaga parametr sifatida oʻtkazishni talab qiladi:

// app.js
require('./routes/index')(app);

Shu bilan /api ga har qanday so'rovlar maxsus api marshrutlash faylida ko'rib chiqilishi mumkin va boshqa so'nggi nuqtalar guruhiga bo'lgan har qanday so'rovlar o'z fayliga ajratilishi mumkin.