Storybook runs alongside your app in development mode. It helps you build UI components isolated from the business logic and context of your app. This edition of Learn Storybook is for React; other editions for Vue and Angular are coming soon.
We’ll need to follow a few steps to get the build process set up in your environment. To start with, we want to use Create React App (CRA) to setup our build system, and enable Storybook and Jest testing in our created app. Let’s run the following commands:
# Create our application: npx create-react-app taskbox cd taskbox # Add Storybook: npx -p @storybook/cli getstorybook
We can quickly check that the various environments of our application are working properly:
# Run the test runner (Jest) in a terminal: yarn test # Start the component explorer on port 9009: yarn run storybook # Run the frontend app proper on port 3000: yarn start
yarn testthrows an error, you may need to install
watchmanas advised in this issue.
Our three frontend app modalities: automated test (Jest), component development (Storybook), and the app itself.
Depending on what part of the app you’re working on, you may want to run one or more of these simultaneously. Since our current focus is creating a single UI component, we’ll stick with running Storybook.
Taskbox reuses design elements from the GraphQL and React Tutorial example app, so we won’t need to write CSS in this tutorial. We’ll simply compile the LESS to a single CSS file and include it in our app. Copy and paste this compiled CSS into the src/index.css file per CRA’s convention.
We also need to add the font and icon directories to the
public/ folder. After adding styling and assets, the app will render a bit strangely. That’s OK. We aren’t working on the app right now. We’re starting off with building our first component!