跳至主要內容
版本:3.5.2

靜態方法

靜態方法並非外掛實例的一部分,而是附加到建構函數。這些方法用於驗證和標準化外掛選項與佈景主題設定檔,而後會將它們當作建構函數參數來初始化外掛實例。

validateOptions({options, validate})

傳回已驗證和標準化的外掛選項。此方法會在外掛初始化前呼叫。你必須傳回選項,因為它們會在初始化時傳遞給外掛。

options

validateOptions 會在傳遞 options 給外掛時呼叫,以進行驗證和標準化。

validate

validateOptions 會在傳遞 validate 函數時呼叫,其中 Joi 架構和選項作為參數,傳回已驗證和標準化的選項。validate 將會自動處理錯誤和驗證設定檔。

提示

Joi 建議用於驗證和正規化選項。

為避免混用 Joi 版本,請使用 import {Joi} from '@docusaurus/utils-validation'

如果您不會使用 Joi 進行驗證,您可以在選項無效的情況下擲出 Error 並在選項有效的情況下傳回選項。

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 會以做為參數的 Joi 模式和 themeConfig 來呼叫 validate 函式,傳回經過驗證和正規化的選項。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',
// rest of methods
};
}

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