Dmitriy Roi
Назад до блогу
Nuxt 3 проти Nuxt 4: ключові відмінності
Nuxt.js
6 хв читання

Nuxt 3 проти Nuxt 4: ключові відмінності

DR

Dmitriy Roi

Frontend Developer

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 перейшов у режим підтримки — лише виправлення багів і безпеки.

Підсумок: чистіша структура, краще розділення відповідальностей, точніша робота з даними та сильніші типи. Оновлюйтеся впевнено.
#nuxt
#nuxt4
#vue
#migration
#typescript
1
Поділитися:

Коментарі (0)

Коментарів поки немає. Будьте першим, хто поділиться думкою.

Залишити коментар