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

정적 메소드

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

validateOptions({options, validate})​

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

options​

validateOptions은 플러그인에 전달할 options 항목의 유효성을 검사하고 정규화합니다.

validate​

validateOptions은 validate 함수에 Joi 스키마와 options 항목을 인자로 전달해서 유효성을 검사하고 정규화된 옵션값을 반환받습니다. validate 함수에서는 자동으로 에러와 유효성 검사에 필요한 설정을 처리합니다.

팁

Joi는 옵션값에 대한 유효성 검사와 정규화 처리에 적절한 기능을 지원합니다.

적절한 Joi 버전을 사용하기 위해 const {Joi} = require("@docusaurus/utils-validation")를 적용하세요.

유효성 검사에 **Joi**를 사용하지 않는다면 코드 내에서 잘못된 옵션의 경우 에러를 던지고 성공한 경우 옵션값을 반환해야 합니다.

my-plugin/src/index.js
function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// 나머지 메소드
};
}

myPlugin.validateOptions = ({options, validate}) => {
const validatedOptions = validate(myValidationSchema, options);
return validatedOptions;
};

module.exports = myPlugin;

타입스크립트에서는 다른 이름으로 내보내기를 지정해 내보낼 수 있도록 선택할 수 있습니다.

my-plugin/src/index.ts
export default function (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 스키마와 themeConfig 항목을 인자로 전달해서 유효성을 검사하고 정규화된 옵션값을 반환받습니다. validate 함수에서는 자동으로 에러와 유효성 검사에 필요한 설정을 처리합니다.

팁

Joi는 테마 설정값에 대한 유효성 검사와 정규화 처리에 적절한 기능을 지원합니다.

적절한 Joi 버전을 사용하기 위해 const {Joi} = require("@docusaurus/utils-validation")를 적용하세요.

유효성 검사에 **Joi**를 사용하지 않는다면 코드 내에서 잘못된 옵션의 경우 에러를 던져야 합니다.

my-theme/src/index.js
function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// 나머지 메소드
};
}

myPlugin.validateThemeConfig = ({themeConfig, validate}) => {
const validatedThemeConfig = validate(myValidationSchema, options);
return validatedThemeConfig;
};

module.exports = validateThemeConfig;

타입스크립트에서는 다른 이름으로 내보내기를 지정해 내보낼 수 있도록 선택할 수 있습니다.

my-theme/src/index.ts
export default function (context, options) {
return {
name: 'docusaurus-plugin',
// 나머지 메소드
};
}

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