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>{lang="ts"} | 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