Обзор

Сближение с Nuxt 3 и упрощение миграции на Nuxt 3.
Если вы начинаете новый проект на Nuxt 3, пропустите этот раздел и перейдите к установке Nuxt 3.
Nuxt Bridge даёт те же возможности, что и Nuxt 3 (документация), но с ограничениями: компосаблы useAsyncData и useFetch недоступны. Подробности — на этой странице.

Bridge — слой прямой совместимости: вы получаете многие возможности Nuxt 3, установив и включив один модуль.

С Nuxt Bridge проект можно подготовить к Nuxt 3 и переходить к нему по шагам.

Первый шаг

Обновление Nuxt 2

Остановите dev-сервер (nuxt dev), удалите lock-файлы (package-lock.json, yarn.lock), установите последнюю Nuxt 2:

package.json
- "nuxt": "^2.16.3"
+ "nuxt": "^2.17.3"

Затем переустановите зависимости:

npm install
После установки убедитесь, что и dev, и production-сборка работают, прежде чем продолжать.

Установка Nuxt Bridge

Установите @nuxt/bridge и nuxi как dev-зависимости:

npm install -D @nuxt/bridge nuxi

Обновление nuxt.config

Не используйте в конфиге CommonJS: module.exports, require, require.resolve — это скоро будет считаться устаревшим.

Используйте статический import, динамический import() и export default. Рекомендуется перейти на TypeScript и переименовать файл в nuxt.config.ts.

nuxt.config.ts
import { defineNuxtConfig } from '@nuxt/bridge'

export default defineNuxtConfig({
  bridge: false,
})

Обновление скриптов

Команду nuxt замените на nuxt2:

{
  "scripts": {
-   "dev": "nuxt",
+   "dev": "nuxt2",
-   "build": "nuxt build",
+   "build": "nuxt2 build",
-   "start": "nuxt start",
+   "start": "nuxt2 start"
  }
}

Запустите nuxt2 — приложение должно работать как раньше.

(Если bridge установлен в false, приложение работает без изменений.)

Шаги обновления

С Nuxt Bridge миграция на Nuxt 3 может быть пошаговой. Выполнять все шаги сразу не обязательно.

Переход с CommonJS на ESM

Nuxt 3 нативно поддерживает TypeScript и ES-модули. Подробнее — нативные ES-модули.