跳到主要内容

静态方法

静态方法不是插件实例的一部分,而是挂载在构造函数上的。这些方法用于校验和规范化插件选项与主题配置,随后作为构造参数用于初始化插件实例。

validateOptions({options, validate})

返回经过校验和规范化的插件选项。该方法会在插件初始化前调用。你必须返回 options,因为它们会在初始化时传递给插件。

options

validateOptions 会接收传递给插件的 options,用于校验和规范化。

validate

validateOptions 会接收 validate 函数,该函数以 Joi schema 和 options 作为参数,返回校验和规范化后的 options。validate 会自动处理错误和校验配置。

提示

推荐使用 Joi 进行选项的校验和规范化。

为避免 Joi 版本冲突,建议使用 import {Joi} from '@docusaurus/utils-validation'

如果你没有使用 Joi 进行校验,可以在选项无效时抛出 Error,校验通过时直接返回 options。

my-plugin/src/index.js
export default function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// 其他方法
};
}

export function validateOptions({options, validate}) {
const validatedOptions = validate(myValidationSchema, options);
return validatedOptions;
}

validateThemeConfig({themeConfig, validate})

返回经过校验和规范化的主题配置。

themeConfig

validateThemeConfig 会接收在 docusaurus.config.js 中提供的 themeConfig,用于校验和规范化。

validate

validateThemeConfig 会接收 validate 函数,该函数以 Joi schema 和 themeConfig 作为参数,返回校验和规范化后的配置。validate 会自动处理错误和校验配置。

提示

推荐使用 Joi 进行主题配置的校验和规范化。

为避免 Joi 版本冲突,建议使用 import {Joi} from '@docusaurus/utils-validation'

如果你没有使用 Joi 进行校验,可以在配置无效时抛出 Error。

my-theme/src/index.js
export default function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// 其他方法
};
}

export function validateThemeConfig({themeConfig, validate}) {
const validatedThemeConfig = validate(myValidationSchema, options);
return validatedThemeConfig;
}