Какие знаешь способы реализации Routing на Node.js

«Какие знаешь способы реализации Routing на Node.js» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Node.js роутинг можно реализовать несколькими способами:

  1. Нативный подход через http модуль:
const server = http.createServer((req, res) => {
  if (req.url === '/') {
    res.end('Home page');
  } else if (req.url === '/about') {
    res.end('About page');
  }
});
  1. Используя Express.js (наиболее популярный):
const express = require('express');
const app = express();

app.get('/', (req, res) => res.send('Home'));
app.post('/api', (req, res) => res.json({data: 1}));
  1. Через фреймворки:
  • Koa.js (более современная альтернатива Express)
  • Fastify (высокая производительность)
  • NestJS (TypeScript-ориентированный)
  1. Файловая система (Next.js, Nuxt.js):
    Автоматический роутинг на основе структуры папок в проекте.

Для сложных приложений лучше использовать Express или современные фреймворки, так как они предоставляют middleware, параметризованные маршруты и другие удобные возможности.