본문으로 건너뛰기
버전: 3.3.2

정적 메소드

정적 메소드는 플러그인 인스턴스의 일부가 아니며 생성자 함수에 연결됩니다. 이 메소드는 플러그인 옵션 및 테마 구성을 검증하고 정규화하는데 사용되며 플러그인 인스턴스를 초기화하기 위한 생성자 매개변수로 사용됩니다.

validateOptions({options, validate})​

플러그인에서 사용할 수 있도록 유효성을 검사하고 정규화된 옵션값을 반환합니다. 이 메소드는 플러그인이 초기화되기 전에 호출됩니다. 초기화하는 동안 플러그인이 전달되므로 옵션을 반환해주어야 합니다.

options​

validateOptions is called with options passed to plugin for validation and normalization.

validate​

validateOptions is called with validate function which takes a Joi schema and options as the arguments, returns validated and normalized options. validate will automatically handle error and validation config.

팁

Joi is recommended for validation and normalization of options.

To avoid mixing Joi versions, use import {Joi} from '@docusaurus/utils-validation'

If you don't use Joi for validation you can throw an Error in case of invalid options and return options in case of success.

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 is called with themeConfig provided in docusaurus.config.js for validation and normalization.

validate​

validateThemeConfig is called with validate function which takes a Joi schema and themeConfig as the arguments, returns validated and normalized options. validate will automatically handle error and validation config.

팁

Joi is recommended for validation and normalization of theme config.

To avoid mixing Joi versions, use import {Joi} from '@docusaurus/utils-validation'

If you don't use Joi for validation you can throw an Error in case of invalid options.

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;
}