Compatibilidad
Nuxt Kit proporciona un conjunto de utilidades para ayudarte a verificar la compatibilidad de tus módulos con diferentes versiones de Nuxt.
Las utilidades de Nuxt Kit se pueden usar en Nuxt 3, Nuxt 2 con Bridge e incluso Nuxt 2 sin Bridge. Para asegurarte de que tu módulo sea compatible con todas las versiones, puedes usar las funciones checkNuxtCompatibility
, assertNuxtCompatibility
y hasNuxtCompatibility
. Estas verificarán si la versión actual de Nuxt cumple con las restricciones que proporciones. También puedes usar las funciones isNuxt2
, isNuxt3
y getNuxtVersion
para verificaciones más detalladas.
checkNuxtCompatibility
Verifica si se cumplen las restricciones para la versión actual de Nuxt. Si no, devuelve un array de mensajes. La versión Nuxt 2 también verifica el soporte de bridge
.
Uso
import { defineNuxtModule, checkNuxtCompatibility } from '@nuxt/kit'
export default defineNuxtModule({
async setup (_options, nuxt) {
const issues = await checkNuxtCompatibility({ nuxt: '^2.16.0' }, nuxt)
if (issues.length) {
console.warn('Se encontraron problemas de compatibilidad con Nuxt:\n' + issues.toString())
} else {
// hacer algo
}
}
})
Tipo
function checkNuxtCompatibility(constraints: NuxtCompatibility, nuxt?: Nuxt): Promise<NuxtCompatibilityIssues>;
Parámetros
constraints
: Restricciones de versión y constructor para verificar. Acepta las siguientes propiedades:
Propiedad | Tipo | Requerido | Descripción |
---|---|---|---|
nuxt | string | false | Versión de Nuxt en formato semver. Las versiones pueden definirse al estilo de Node.js, por ejemplo: >=2.15.0 <3.0.0 . |
bridge | Record<string, string | false> | false | Especifica restricciones de versión o desactiva la compatibilidad para constructores específicos de Nuxt como vite , webpack o rspack . Usa false para desactivar. |
nuxt
: Instancia de Nuxt. Si no se proporciona, se obtendrá del contexto a través de la llamada useNuxt()
.
assertNuxtCompatibility
Asegura que se cumplan las restricciones para la versión actual de Nuxt. Si no, lanza un error con la lista de problemas como cadena.
Tipo
// @errors: 2391
import type { Nuxt, NuxtCompatibility } from '@nuxt/schema'
// ---cut---
function assertNuxtCompatibility(constraints: NuxtCompatibility, nuxt?: Nuxt): Promise<true>;
Parámetros
constraints
: Restricciones de versión y constructor para verificar. Consulta la tabla de restricciones en checkNuxtCompatibility
para más detalles.
nuxt
: Instancia de Nuxt. Si no se proporciona, se obtendrá del contexto a través de la llamada useNuxt()
.
hasNuxtCompatibility
Verifica si se cumplen las restricciones para la versión actual de Nuxt. Devuelve true
si se cumplen todas las restricciones, de lo contrario devuelve false
. La versión Nuxt 2 también verifica el soporte de bridge
.
Uso
import { defineNuxtModule, hasNuxtCompatibility } from '@nuxt/kit'
export default defineNuxtModule({
async setup (_options, nuxt) {
const usingNewPostcss = await hasNuxtCompatibility({ nuxt: '^2.16.0' }, nuxt)
if (usingNewPostcss) {
// hacer algo
} else {
// hacer otra cosa
}
}
})
Tipo
function hasNuxtCompatibility(constraints: NuxtCompatibility, nuxt?: Nuxt): Promise<boolean>;
Parámetros
constraints
: Restricciones de versión y constructor para verificar. Consulta la tabla de restricciones en checkNuxtCompatibility
para más detalles.
nuxt
: Instancia de Nuxt. Si no se proporciona, se obtendrá del contexto a través de la llamada useNuxt()
.
isNuxtMajorVersion
Verifica si la instancia actual de Nuxt es de la versión principal especificada.
Uso
import { defineNuxtModule, isNuxtMajorVersion } from '@nuxt/kit'
export default defineNuxtModule({
async setup () {
if (isNuxtMajorVersion(3)) {
// hacer algo para Nuxt 3
} else {
// hacer otra cosa para otras versiones
}
}
})
Tipo
function isNuxtMajorVersion(major: number, nuxt?: Nuxt): boolean;
Parámetros
major
: Versión principal para verificar.
nuxt
: Instancia de Nuxt. Si no se proporciona, se obtendrá del contexto a través de la llamada useNuxt()
.
isNuxt3
Verifica si la versión actual de Nuxt es 3.x.
Usa isNuxtMajorVersion(2, nuxt)
en su lugar. Esto puede ser eliminado en @nuxt/kit v5 o en una futura versión principal.
Tipo
function isNuxt3(nuxt?: Nuxt): boolean;
Parámetros
nuxt
: Instancia de Nuxt. Si no se proporciona, se obtendrá del contexto a través de la llamada useNuxt()
.
isNuxt2
Verifica si la versión actual de Nuxt es 2.x.
Usa isNuxtMajorVersion(2, nuxt)
en su lugar. Esto puede ser eliminado en @nuxt/kit v5 o en una futura versión principal.
Tipo
function isNuxt2(nuxt?: Nuxt): boolean;
Parámetros
nuxt
: Instancia de Nuxt. Si no se proporciona, se obtendrá del contexto a través de la llamada useNuxt()
.
getNuxtVersion
Devuelve la versión actual de Nuxt.
Tipo
function getNuxtVersion(nuxt?: Nuxt): string;
Parámetros
nuxt
: Instancia de Nuxt. Si no se proporciona, se obtendrá del contexto a través de la llamada useNuxt()
.
※Esta página es una traducción no oficial de la documentación oficial de Nuxt.js.
La página correspondiente en la documentación oficial está aquí:
https://nuxt.com/docs/3.x/api/kit/compatibility