nuxt logo

문서 번역(비공식)

호환성

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: 확인할 버전 및 빌더 제약 조건. 다음 속성을 허용합니다:

속성타입필수 여부설명
nuxtstringfalsesemver 형식의 Nuxt 버전. 예를 들어 Node.js 방식으로 정의할 수 있습니다: >=2.15.0 <3.0.0.
bridgeRecord<string, string | false>falsevite, 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() 호출을 통해 컨텍스트에서 가져옵니다.