Storybook에 Tailwind CSS 적용하기

November 16, 2023

StorybookTailwind CSS

리액트로 프로젝트를 진행할 때 핵심 중 하나는 컴포넌트입니다. 스토리북은 컴포넌트를 독립적인 환경에서 구축해볼 수 있는 툴이고, 개발시 좀 더 컴포넌트에 집중할 수 있도록 도와줍니다. 따라서 앞으로 프로젝트를 진행할 때 스토리북을 사용해보고 싶고, 또 이전 프로젝트 때 사용했던 Tailwind CSS를 함께 사용해보고 싶기에 스토리북에 Tailwind CSS를 적용하는 방법을 기록해 놓으려고 합니다.

AS-IS

아래의 과정을 통해 앱을 설치했습니다.

버튼 컴포넌트에 Tailwind CSS를 적용했는데 스토리북에는 적용이 안되고 있습니다.

스토리북에도 Tailwind CSS를 적용해보도록 하겠습니다.

TO-BE

/* tailwind-input.css */
@tailwind base;
@tailwind components;
@tailwind utilities;
npx tailwindcss -i ./src/tailwind-input.css -o ./src/styles/tailwind.css --watch
<!-- public/index.html -->
<head>
  <!-- ... -->
  <link href="/src/styles/tailwind.css" rel="stylesheet">
  <!-- ... -->
</head>
npm i concurrently
// ...
  "scripts": {
    // ...
    // 스토리북을 실행하면 watch라는 접두사가 붙은 스크립트들을 실행하게 되고, 스토리북과 테일윈드에 watch 붙었기 때문에 한 번에 두개의 프로세스를 실행할 수 있게됩니다.
    "storybook": "concurrently 'npm:watch:*'",
    "watch:storybook": "storybook dev -p 6006",
    "watch:tailwind": "npx tailwindcss -i ./src/tailwind-input.css -o ./src/styles/tailwind.css --watch",
    // 스토리북을 실행하기 전에 테일윈드를 실행하도록 빌드 스크립트를 업데이트합니다.
    "build:tailwind": "npx tailwindcss -i ./src/tailwind-input.css -o ./src/styles/tailwind.css",
    "build-storybook": "npm build:tailwind && storybook build"
    // ...
  },
// ...

이제 클래스명이 바뀌자마자 컴파일하고 스토리북에 적용되는 것을 확인할 수 있습니다.

참고

⬅ 이전 포스트
GROUP BY | MySQL