静态方法
静态方法不属于插件实例的一部分——它们附加到构造函数上。这些方法用于验证和规范化插件选项和主题配置,然后作为构造函数参数用于初始化插件实例。
validateOptions({options, validate})
返回经过验证和规范化的插件选项。此方法在插件初始化之前调用。你必须返回这些选项,因为它们将在初始化期间传递给插件。
options
validateOptions
在调用时,会将传递给插件用于验证和规范化的 options
作为参数。
validate
validateOptions
在调用时,会将 validate
函数作为参数,该函数接受一个 **Joi** 模式和选项作为参数,并返回经过验证和规范化的选项。validate
将自动处理错误和验证配置。
提示
Joi 推荐用于选项的验证和规范化。
为避免混淆 Joi 版本,请使用 import {Joi} from '@docusaurus/utils-validation'
如果你不使用 **Joi** 进行验证,可以在选项无效时抛出错误,成功时返回选项。
my-plugin/src/index.js
export default function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// rest of methods
};
}
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** 模式和 themeConfig
作为参数,并返回经过验证和规范化的选项。validate
将自动处理错误和验证配置。
提示
Joi 推荐用于主题配置的验证和规范化。
为避免混淆 Joi 版本,请使用 import {Joi} from '@docusaurus/utils-validation'
如果你不使用 **Joi** 进行验证,可以在选项无效时抛出错误。
my-theme/src/index.js
export default function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// rest of methods
};
}
export function validateThemeConfig({themeConfig, validate}) {
const validatedThemeConfig = validate(myValidationSchema, options);
return validatedThemeConfig;
}