호환성
Nuxt Kit은 다양한 Nuxt 버전과 모듈의 호환성을 확인하는 데 도움이 되는 유틸리티 세트를 제공합니다.
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 {
// do something
}
}
})
타입
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 버전에 대해 제약 조건이 충족되는지 확인합니다. 충족되지 않으면 문제 목록을 문자열로 포함한 오류를 발생시킵니다.
타입
// @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({
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()
호출을 통해 컨텍스트에서 가져옵니다.
※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/api/kit/compatibility