Nuxt 4 — це еволюція, а не переписування з нуля. Він зберігає ментальну модель Nuxt 3, але впорядковує структуру проєкту, поведінку отримання даних і TypeScript. Ось десять відмінностей, що реально змінюють спосіб написання коду.
1. Нова структура проєкту
Nuxt 4 переносить папки застосунку (components/, composables/, pages/, layouts/, plugins/ тощо) у виділену директорію app/, тоді як server/, shared/ і конфіги лишаються в корені. Це дає чіткіший розподіл між клієнтським і серверним світами.
2. Краще розділення коду app і server
Межа між Vue-застосунком і Nitro-сервером тепер явна й легша для окремої типізації, що не дає серверному коду потрапляти в клієнтський бандл.
3. Справжня директорія shared/
Код, що має працювати і в app, і на server — типи, константи, чисті утиліти — живе в shared/. Він не авто-імпортується за замовчуванням, тож ви імпортуєте його явно й уникаєте випадкового звʼязування.
4. Змінилася поведінка отримання даних
useAsyncData і useFetch тепер спільно використовують refs за однаковим ключем. Виклик з тим самим ключем повертає ті самі кешовані дані замість конфліктних запитів.
5. data та error за замовчуванням undefined
Раніше вони ініціалізувалися як null; у Nuxt 4 — undefined. Оновіть суворі перевірки === null відповідно.
6. pending точніший
status і pending точніше відображають життєвий цикл запиту, тож стани завантаження більше не «блимають» хибно до реального старту запиту.
7. Дані тепер shallow-реактивні
Отримані дані за замовчуванням поверхнево реактивні. Щоб оновити — замінюйте обʼєкт цілком, а не мутуйте глибокі вкладені властивості. Це швидше й передбачуваніше.
8. TypeScript суворіший
Nuxt 4 генерує окремі TypeScript-конфіги для app, server і shared/build контекстів, даючи точніші типи й раніше ловлячи помилки між контекстами.
9. Є шлях сумісності з Nuxt 3
Поведінку Nuxt 4 можна увімкнути ще в Nuxt 3 — і полегшити міграцію — через future.compatibilityVersion, тож більшість проєктів переходять майже без змін у поведінці.
10. Nuxt 4 — активна стабільна гілка
Nuxt 4 — поточна стабільна, активно розвивана версія з новими можливостями й роботою над продуктивністю. Nuxt 3 перейшов у режим підтримки — лише виправлення багів і безпеки.
Підсумок: чистіша структура, краще розділення відповідальностей, точніша робота з даними та сильніші типи. Оновлюйтеся впевнено.


