Совместимость
Утилиты 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: ограничения по версии и билдеру. Свойства:
| Свойство | Тип | Обязательный | Описание |
|---|---|---|---|
nuxt | string | нет | Версия Nuxt в формате semver, например >=2.15.0 <3.0.0. |
bridge | Record<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().