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

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

Утилиты Nuxt Kit работают в Nuxt 3, в Nuxt 2 с Bridge и в Nuxt 2 без Bridge. Чтобы убедиться, что модуль подходит под нужные версии, используйте checkNuxtCompatibility, assertNuxtCompatibility и hasNuxtCompatibility — они сверяют текущую версию Nuxt с заданными ограничениями. Для точечных проверок подойдут isNuxt2, isNuxt3, isNuxtMajorVersion и 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:\n' +
issues
.
toString
())
} else { // продолжить, если проблем нет } }, })

Тип

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

Параметры

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

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

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

assertNuxtCompatibility

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

Тип

function assertNuxtCompatibility (
constraints
:
NuxtCompatibility
,
nuxt
?:
Nuxt
):
Promise
<true>
Function implementation is missing or not immediately following the declaration.

Параметры

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
) {
// действия при совместимости } 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)) {
// логика для Nuxt 3 } else { // логика для других версий } }, })

Тип

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

Параметры

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

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

isNuxt3

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

Предпочтительнее isNuxtMajorVersion(3, 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().