互換性
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 {
// 何かを実行
}
}
})
型
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) {
// 何かを実行
} 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