← Назад ко всем вопросам

pages router и App Router в Next.js

1️⃣ Как кратко ответить

В Next.js pages router — это традиционный способ маршрутизации, где страницы создаются в папке pages, а маршруты автоматически генерируются на основе структуры файлов. App Router — это более современный подход, представленный в Next.js 13, который использует папку app и поддерживает функции, такие как серверные компоненты, параллельные маршруты и макеты, что позволяет создавать более сложные и оптимизированные приложения.

2️⃣ Подробное объяснение темы

В Next.js маршрутизация — это ключевой аспект, который определяет, как пользователи взаимодействуют с различными страницами приложения. Существует два основных подхода к маршрутизации: pages router и App Router.

Pages Router

Pages router — это традиционный подход, который использовался в Next.js до версии 13. Он основан на файловой системе и предполагает, что каждая страница приложения представлена файлом в папке pages. Например, файл pages/about.js будет доступен по маршруту /about.

Пример:

// pages/about.js
export default function About() {
  return <h1>About Page</h1>;
}
  • Файл about.js: Определяет компонент React, который будет отображаться на странице /about.
  • Папка pages: Автоматически генерирует маршруты на основе структуры файлов.

App Router

App Router — это новый подход, представленный в Next.js 13, который предлагает более гибкую и мощную систему маршрутизации. Он использует папку app и поддерживает такие функции, как серверные компоненты, параллельные маршруты и макеты.

Пример:

// app/about/page.js
export default function About() {
  return <h1>About Page</h1>;
}
  • Файл page.js: Определяет компонент, который будет отображаться на странице /about. Папка about внутри app указывает на маршрут.
  • Папка app: Позволяет использовать серверные компоненты, что улучшает производительность за счет рендеринга на сервере.
  • Макеты и параллельные маршруты: Позволяют создавать более сложные структуры страниц, где разные части страницы могут обновляться независимо друг от друга.

Зачем это нужно

  • Pages Router: Прост в использовании и подходит для большинства стандартных приложений. Автоматически генерирует маршруты, что упрощает разработку.
  • App Router: Предоставляет больше возможностей для оптимизации и создания сложных приложений. Поддерживает новые функции, такие как серверные компоненты, которые могут значительно улучшить производительность.

Применение

  • Pages Router: Используется для простых приложений, где не требуется сложная структура страниц или оптимизация.
  • App Router: Рекомендуется для новых проектов, особенно если требуется высокая производительность и сложная структура страниц.

Таким образом, выбор между pages router и App Router зависит от требований вашего проекта и уровня сложности приложения.

Тема: Next.js и SSR
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки