Web/more
[Storybook] Storybook for HTML: 순수 HTML 환경 지원
아랄라랄라
2025. 5. 30. 15:32
스토리북의 존재를 안건 꽤 됐는데, 회사 업무 환경이 리액트가 아니어서 생각 못하고 있다가, 미래(?)를 위해 강의를 보게 됐다.
그러다가 리액트 뿐만 아니라 순수 html 환경에서도 쓸 수 있는걸 알게됐다.
회사 프로젝트가 커져서 기능있는 스타일 가이드가 너무 필요했는데 잘됐다 🤩
이번에 깊게 공부해서 바로 실무에 적용해 보려고 한다.
작업환경: Windows
Node.js 20 이상 필수
Storybook 지원 환경
- React
- Vue / Vue 3
- Angular
- Svelte
- HTML (프레임워크 없는 환경) ← 내가 원하는 것!
- Web Components
- 기타 커스텀 환경
순수 HTML 프로젝트에 스토리북 설정 방법
1. 새 폴더 만들기 및 이동
mkdir my-html-storybook
cd my-html-storybook
2. Node.js 초기화
npm init -y
package.json 파일이 생깁니다.
3. Storybook 설치 (HTML 환경)
npx storybook@latest init --type html
--type html 옵션은 순수 HTML 환경용 스토리북 세팅을 자동으로 해줍니다.
설치 중에는 몇 가지 디펜던시(@storybook/html, vite 등)가 함께 설치됩니다.
4. 폴더 구조 예시
설치가 완료되면 프로젝트 구조는 아래처럼 됩니다:
my-html-storybook/
├── .storybook/
│ ├── main.js
│ └── preview.js
├── stories/
│ ├── Introduction.stories.mdx
│ └── Button.stories.js
├── package.json
stories/폴더 안에 있는 파일들을 기반으로 컴포넌트 문서화가 진행됩니다.
5. Storybook 실행
npm run storybook
정상 실행되면 브라우저에서 자동으로 열립니다:
http://localhost:6006/
6. 나만의 HTML 컴포넌트 추가 예시
예를 들어 stories/MyCard.stories.js 파일을 추가하면:
export default {
title: 'Example/MyCard',
};
export const Default = () => `
<div style="padding: 1em; border: 1px solid #ccc; border-radius: 8px;">
<h2>My Card</h2>
<p>This is a sample card component.</p>
</div>
`;
선택: vite 빌더로 더 빠르게 구성하고 싶다면?
npx storybook@latest init --type html --builder vite
→ 속도 빠르고 최신 개발 환경에서 유리합니다.

참고
https://storybook.js.org/docs/get-started/install
Storybook: Frontend workshop for UI development
Storybook is a frontend workshop for building UI components and pages in isolation. Thousands of teams use it for UI development, testing, and documentation. It's open source and free.
storybook.js.org
728x90