[javascript] Storybook을 사용한 자바스크립트 컴포넌트 라이브러리 개발

이번 글에서는 Storybook을 활용하여 자바스크립트 컴포넌트 라이브러리를 개발하는 방법에 대해 알아보겠습니다. Storybook은 개발자들이 컴포넌트를 독립적으로 테스트하고 문서화할 수 있는 강력한 도구입니다.

Storybook이란?

Storybook은 UI 컴포넌트를 개발하고 문서화하기 위한 개발 환경입니다. 이를 통해 개발자들은 컴포넌트의 다양한 상태를 실시간으로 확인하고 테스트할 수 있습니다. 또한, 컴포넌트 간의 상호작용이나 다양한 사용자 입력에 대한 시뮬레이션도 가능합니다.

프로젝트 설정

먼저, Storybook을 사용하기 위해 프로젝트를 설정해야 합니다. 자바스크립트 컴포넌트 라이브러리 프로젝트를 생성한 후, 다음 명령어를 실행하여 Storybook을 설치합니다.

npm install --save-dev @storybook/react

스토리 작성하기

Storybook에서는 각 컴포넌트에 대한 스토리를 작성하여 컴포넌트의 다양한 상태와 사용법을 시각적으로 표현할 수 있습니다. 스토리는 일종의 시나리오이며, 특정 상태나 속성에 따른 컴포넌트의 모습을 보여줍니다.

스토리를 작성하기 위해 .story.js 확장자로 파일을 생성한 후, 다음과 같은 코드를 작성합니다.

import React from 'react';
import MyComponent from '../src/MyComponent';

export default {
  title: 'MyComponent',
  component: MyComponent,
};

export const Default = () => <MyComponent />;
export const WithProps = () => <MyComponent prop1="value1" prop2="value2" />;

위 예제에서는 MyComponent라는 컴포넌트에 대한 두 가지 스토리를 작성하였습니다. Default 스토리는 기본적인 상태에서의 컴포넌트 모습을 보여주고, WithProps 스토리는 프로퍼티를 지정하여 컴포넌트를 확인할 수 있습니다.

Storybook 실행하기

스토리 작성이 완료되었다면, 다음 명령어를 실행하여 Storybook을 실행합니다.

npm run storybook

이후 브라우저에서 localhost:6006을 열면 Storybook이 실행되는 것을 확인할 수 있습니다. 여기에서 각 스토리별로 컴포넌트를 확인하고 다양한 인터랙션 및 상태를 테스트할 수 있습니다.

스토리북 빌드하기

개발이 완료되고 라이브러리를 배포할 준비가 되었다면, Storybook을 정적 파일로 빌드하여 배포할 수 있습니다. 다음 명령어를 실행하여 빌드할 수 있습니다.

npm run build-storybook

빌드된 파일은 storybook-static 폴더에 저장되며, 이를 웹 서버에 배포하거나 정적 호스팅 서비스를 이용하여 배포할 수 있습니다.

결론

이제 Storybook을 사용하여 자바스크립트 컴포넌트 라이브러리를 개발하는 방법에 대해 알아보았습니다. Storybook은 컴포넌트 개발을 위한 강력한 도구로, 효율적인 컴포넌트 개발과 문서화를 도와줍니다. 자신만의 컴포넌트 라이브러리를 개발하거나 기존 라이브러리를 유지보수할 때, Storybook을 활용해보세요.

참고: Storybook 공식 홈페이지