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