兼容性
Nuxt Kit 实用工具可用于 Nuxt 3、带 Bridge 的 Nuxt 2 以及不带 Bridge 的 Nuxt 2。为了确保你的模块与所有版本兼容,你可以使用 checkNuxtCompatibility
、assertNuxtCompatibility
和 hasNuxtCompatibility
函数。它们将检查当前 Nuxt 版本是否满足你提供的约束条件。此外,你还可以使用 isNuxt2
、isNuxt3
和 getNuxtVersion
函数进行更细粒度的检查。
checkNuxtCompatibility
检查当前 Nuxt 版本是否满足约束条件。如果不满足,返回一个消息数组。Nuxt 2 版本还会检查是否支持 bridge
。
类型
async function checkNuxtCompatibility(
constraints: NuxtCompatibility,
nuxt?: Nuxt
): Promise<NuxtCompatibilityIssues>;
interface NuxtCompatibility {
nuxt?: string;
bridge?: boolean;
builder?: {
// 如果你的模块与某个构建器不兼容,设置为 `false`
// 或一个与 semver 兼容的字符串版本约束
vite?: false | string;
webpack?: false | string;
};
}
interface NuxtCompatibilityIssue {
name: string;
message: string;
}
interface NuxtCompatibilityIssues extends Array<NuxtCompatibilityIssue> {
toString(): string;
}
参数
constraints
类型: NuxtCompatibility
默认值: {}
要检查的约束条件。它接受以下属性:
nuxt
(可选)
类型:string
采用 semver 格式的 Nuxt 版本。版本可以按照 Node.js 的方式定义,例如:>=2.15.0 <3.0.0
。bridge
(可选)
类型:boolean
如果设置为true
,将检查当前 Nuxt 版本是否支持bridge
。
nuxt
类型: Nuxt
默认值: useNuxt()
Nuxt 实例。如果未提供,将通过 useNuxt()
调用从上下文中获取。
assertNuxtCompatibility
断言当前 Nuxt 版本满足约束条件。如果不满足,将抛出错误,并附上问题列表的字符串。
类型
async function assertNuxtCompatibility(
constraints: NuxtCompatibility,
nuxt?: Nuxt
): Promise<true>;
interface NuxtCompatibility {
nuxt?: string;
bridge?: boolean;
}
参数
constraints
类型: NuxtCompatibility
默认值: {}
要检查的约束条件。它接受以下属性:
nuxt
(可选)
类型:string
采用 semver 格式的 Nuxt 版本。版本可以按照 Node.js 的方式定义,例如:>=2.15.0 <3.0.0
。bridge
(可选)
类型:boolean
如果设置为true
,将检查当前 Nuxt 版本是否支持bridge
。
nuxt
类型: Nuxt
默认值: useNuxt()
Nuxt 实例。如果未提供,将通过 useNuxt()
调用从上下文中获取。
hasNuxtCompatibility
检查当前 Nuxt 版本是否满足约束条件。如果所有约束条件都满足,返回 true
,否则返回 false
。Nuxt 2 版本还会检查是否支持 bridge
。
类型
async function hasNuxtCompatibility(
constraints: NuxtCompatibility,
nuxt?: Nuxt
): Promise<boolean>;
interface NuxtCompatibility {
nuxt?: string;
bridge?: boolean;
}
参数
constraints
类型: NuxtCompatibility
默认值: {}
要检查的约束条件。它接受以下属性:
nuxt
(可选)
类型:string
采用 semver 格式的 Nuxt 版本。版本可以按照 Node.js 的方式定义,例如:>=2.15.0 <3.0.0
。bridge
(可选)
类型:boolean
如果设置为true
,将检查当前 Nuxt 版本是否支持bridge
。
nuxt
类型: Nuxt
默认值: useNuxt()
Nuxt 实例。如果未提供,将通过 useNuxt()
调用从上下文中获取。
isNuxt2
检查当前 Nuxt 版本是否为 2.x。
类型
function isNuxt2(nuxt?: Nuxt): boolean;
参数
nuxt
类型: Nuxt
默认值: useNuxt()
Nuxt 实例。如果未提供,将通过 useNuxt()
调用从上下文中获取。
isNuxt3
检查当前 Nuxt 版本是否为 3.x。
类型
function isNuxt3(nuxt?: Nuxt): boolean;
参数
nuxt
类型: Nuxt
默认值: useNuxt()
Nuxt 实例。如果未提供,将通过 useNuxt()
调用从上下文中获取。
getNuxtVersion
返回当前 Nuxt 版本。
类型
function getNuxtVersion(nuxt?: Nuxt): string;
参数
nuxt
类型: Nuxt
默认值: useNuxt()
Nuxt 实例。如果未提供,将通过 useNuxt()
调用从上下文中获取。