호환성
Nuxt Kit 유틸리티는 Nuxt 3, Bridge가 적용된 Nuxt 2, 그리고 Bridge가 없는 Nuxt 2에서도 사용할 수 있습니다. 모든 버전과의 호환성을 보장하려면 checkNuxtCompatibility, assertNuxtCompatibility, hasNuxtCompatibility 함수를 사용할 수 있습니다. 이 함수들은 현재 Nuxt 버전이 제공한 제약 조건을 충족하는지 확인합니다. 또한, 더 세밀한 확인을 위해 isNuxt2, isNuxt3, getNuxtVersion 함수도 사용할 수 있습니다.
checkNuxtCompatibility
현재 Nuxt 버전에 대해 제약 조건이 충족되는지 확인합니다. 충족되지 않으면 메시지 배열을 반환합니다. Nuxt 2 버전에서는 bridge 지원도 확인합니다.
사용법
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('Nuxt 호환성 문제 발견:\n' + issues.toString())
} else {
// 무언가를 수행
}
}
})
타입
function checkNuxtCompatibility(constraints: NuxtCompatibility, nuxt?: Nuxt): Promise<NuxtCompatibilityIssues>;
파라미터
constraints: 확인할 버전 및 빌더 제약 조건입니다. 다음 속성을 허용합니다:
| 속성 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
nuxt | string | false | semver 형식의 Nuxt 버전. 예를 들어 Node.js 방식으로 버전을 정의할 수 있습니다: >=2.15.0 <3.0.0. |
bridge | Record<string, string | false> | false | vite, webpack, rspack 등 특정 Nuxt 빌더에 대한 버전 제약 조건을 지정하거나 호환성을 비활성화합니다. 비활성화하려면 false를 사용하세요. |
nuxt: Nuxt 인스턴스. 제공하지 않으면 useNuxt() 호출을 통해 컨텍스트에서 가져옵니다.
assertNuxtCompatibility
현재 Nuxt 버전에 대해 제약 조건이 충족되는지 단언합니다. 충족되지 않으면 문제 목록을 문자열로 포함한 오류를 발생시킵니다.
타입
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) {
// 무언가를 수행
} 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({
async setup () {
if (isNuxtMajorVersion(3)) {
// Nuxt 3용 작업 수행
} else {
// 다른 버전용 작업 수행
}
}
})
타입
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() 호출을 통해 컨텍스트에서 가져옵니다.