LoginSignup
3
5

More than 3 years have passed since last update.

React初心者がStorybookとAtomicDesignを使ったコンポーネント設計に挑戦していくお話【第1話 環境構築】

Last updated at Posted at 2021-04-04

はじめに

React初心者がStorybook v6でStorybookに初挑戦、そして少しずつ前に進んでいくお話です。
コンポーネント設計としてAtomicDesign、スタイルはcss-modulesを利用していきます。
同じような境遇の方のお役に立てたら幸いです。
(初心者のため謎設計が多数出現すると思います。予めご了承ください。。。)

今回は、環境構築のお話。

開発環境(21.04.04時点)

  • M1 MacBookPro(macOS Big Sur 11.2.3)
  • node v15.10.0
  • create-react-app v4.0.3
  • react v17.0.2
  • storybook v6.2.2
  • yarn v1.22.10

React、Storybookのセットアップ

Create React AppのTypeScriptテンプレートを利用してreact環境を構築、Storybookをインストールします。
StorybookのセットアップについてはStorybook 公式チュートリアル を参考に進めました。

$ npx create-react-app PROJECT名 --template typescript
$ cd PROJECTディレクトリ
$ npx -p @storybook/cli sb init

チュートリアルに合わせてプロジェクトのルートフォルダーに.envという名前で、以下の内容のファイルを作成します。

.env
SKIP_PREFLIGHT_CHECK=true

この設定がない場合yarn start時にエラーが出力される場合があるようです。

Storybook動作確認

$ yarn storybook

デフォルトの設定だと、http://localhost"6006/でサービスが起動されます。
yarn storybook
無事にサービスが起動されました!
次回から早速コンポーネントを作っていきます。
storybook

環境構築補足

好みですが、tsconfig.jsonbaseUrlを設定しています。
baseUrlを設定することで、相対パスではなくルート相対パス風に記載ができるようになります。

tsconfig.json
 "compilerOptions": {
    "baseUrl": "."
  }

baseUrlを設定することで下記のようにimport時にtsconfig.json'.'、今回の場合はプロジェクトルートからからsrc/ファイル名というように記載することができます。

some-component.tsx
import { Hoge } from 'src/components/atoms/Button;
3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5