Совместимость

Исходники
Nuxt Kit предоставляет набор утилит, которые помогут вам проверить совместимость ваших модулей с различными версиями Nuxt.

Утилиты Nuxt Kit можно использовать в Nuxt 3, Nuxt 2 с Bridge и даже в Nuxt 2 без Bridge. Чтобы убедиться, что ваш модуль совместим со всеми версиями, вы можете использовать функции checkNuxtCompatibility, assertNuxtCompatibility и hasNuxtCompatibility. Они проверят, соответствует ли текущая версия Nuxt указанным вами ограничениям. Также вы можете использовать функции isNuxt2, isNuxt3 и getNuxtVersion для более детальных проверок.

checkNuxtCompatibility

Проверяет, соблюдены ли ограничения для текущей версии Nuxt. Если нет, возвращает массив сообщений. В версии Nuxt 2 также проверяет поддержку bridge.

Использование

import { checkNuxtCompatibility, defineNuxtModule } from '@nuxt/kit'

export default defineNuxtModule({
  async setup (_options, nuxt) {
    const issues = await checkNuxtCompatibility({ nuxt: '^2.16.0' }, nuxt)
    if (issues.length) {
      console.warn('Nuxt compatibility issues found:\n' + issues.toString())
    } else {
      // do something
    }
  },
})

Тип

function checkNuxtCompatibility (constraints: NuxtCompatibility, nuxt?: Nuxt): Promise<NuxtCompatibilityIssues>

Параметры

constraints: ограничения по версии и билдеру. Свойства:

СвойствоТипОбязательныйОписание
nuxtstringнетВерсия Nuxt в формате semver, например >=2.15.0 <3.0.0.
bridgeRecord<string, string | false>нетОграничения версий или отключение совместимости для билдеров vite, webpack, rspack. false — отключить.

nuxt: Инстанс Nuxt. Если он не указан, то будет получен из контекста через вызов useNuxt().

assertNuxtCompatibility

Подтверждает, что ограничения выполнены для текущей версии Nuxt. Если нет, выдает ошибку со списком проблем в виде строки.

Тип

// @errors: 2391
import type { Nuxt, NuxtCompatibility } from '@nuxt/schema'
// ---cut---
function assertNuxtCompatibility (constraints: NuxtCompatibility, nuxt?: Nuxt): Promise<true>

Параметры

constraints: ограничения по версии и билдеру. Подробнее — таблица параметров checkNuxtCompatibility.

nuxt: Инстанс Nuxt. Если он не указан, то будет получен из контекста через вызов useNuxt().

hasNuxtCompatibility

Проверяет, соблюдены ли ограничения для текущей версии Nuxt. Возвращает true, если все ограничения соблюдены, в противном случае возвращает false. В версии Nuxt 2 также проверяет поддержку bridge.

Использование

import { defineNuxtModule, hasNuxtCompatibility } from '@nuxt/kit'

export default defineNuxtModule({
  async setup (_options, nuxt) {
    const usingNewPostcss = await hasNuxtCompatibility({ nuxt: '^2.16.0' }, nuxt)
    if (usingNewPostcss) {
      // do something
    } else {
      // do something else
    }
  },
})

Тип

function hasNuxtCompatibility (constraints: NuxtCompatibility, nuxt?: Nuxt): Promise<boolean>

Параметры

constraints: ограничения по версии и билдеру. Подробнее — таблица параметров checkNuxtCompatibility.

nuxt: экземпляр Nuxt. Если не передан — берётся из контекста через useNuxt().

isNuxtMajorVersion

Проверяет, совпадает ли мажорная версия текущего экземпляра Nuxt с указанной.

Использование

import { defineNuxtModule, isNuxtMajorVersion } from '@nuxt/kit'

export default defineNuxtModule({
  setup () {
    if (isNuxtMajorVersion(3)) {
      // do something for Nuxt 3
    } else {
      // do something else for other versions
    }
  },
})

Тип

function isNuxtMajorVersion (major: number, nuxt?: Nuxt): boolean

Параметры

major: мажорная версия для проверки.

nuxt: Инстанс Nuxt. Если он не указан, то будет получен из контекста через вызов useNuxt().

isNuxt3

Проверяет, является ли текущая версия Nuxt версией 3.x.

Рекомендуется использовать isNuxtMajorVersion(2, nuxt). Функция может быть удалена в @nuxt/kit v5 или следующей мажорной версии.

Тип

function isNuxt3 (nuxt?: Nuxt): boolean

Параметры

nuxt: экземпляр Nuxt. Если не передан — берётся из контекста через useNuxt().

isNuxt2

Проверяет, является ли текущая версия Nuxt версией 2.x.

Рекомендуется использовать isNuxtMajorVersion(2, nuxt). Функция может быть удалена в @nuxt/kit v5 или следующей мажорной версии.

Тип

function isNuxt2 (nuxt?: Nuxt): boolean

Параметры

nuxt: экземпляр Nuxt. Если не передан — берётся из контекста через useNuxt().

getNuxtVersion

Возвращает текущую версию Nuxt.

Тип

function getNuxtVersion (nuxt?: Nuxt): string

Параметры

nuxt: Инстанс Nuxt. Если он не указан, то будет получен из контекста через вызов useNuxt().