ストーリーライブラリを使用してコンポーネントライブラリを作成し、反応アプリを作成します
14066 ワード
このポストでは、我々はどのように我々はCreate Reactionアプリ(CRA)を使用してコンポーネントライブラリを作成するストーリーブックを使用する方法を見ていきます.最後に、いくつかのバリエーションを持つシンプルなボタンを作成します.
まずcraを使用してプロジェクトを作成します.このポストでは、我々は糸を使用していますが、NPMを使用する場合は、すべてのコマンドは同様に動作しなければならないので、自由に感じてください.以下のCRAコマンドでは、フラグを追加してください
デフォルトでは、ストーリーブックはあなたのすべてのファイルを読む
ストーリーブックを実行するには、次のダッシュボードが表示されます.
StoryBookは、デモのプロジェクトからボックスのボックスから出てくるが、我々は次のステップで自分自身を作成されます.
ここでは、いくつかのバリエーションを持つ単純なボタンコンポーネントを作成します.
ここで、単一のボタンコンポーネントから構成されるコンポーネントライブラリを作成しました.我々は今、それを構築し、エクスポートしようと考えます.他の糸スクリプトを実行しなければなりません.
NPMライブラリを使ってこれを展開することができますhttp-server 次のコマンドを使用します.
我々は、ストーリーブックとCRAを使用して簡単な反応コンポーネントライブラリを作成することを行ってきました.StoryBook私たちはそれを達成するために簡単にするためのツールを提供します.我々はちょうど表面に触れているとストーリーブックはもっとアドオン、テストとより多くを提供します.詳しく見るhere . フォローアップポストでは、私たちは他の反応アプリでそれを使用することができますので、静的サイトを展開し、公開のNPMレジストリにライブラリとしてボタンのコンポーネントを公開を介して行くので、チューニングを維持します.
次の読書と感謝.✌🏼
セットアップ
まずcraを使用してプロジェクトを作成します.このポストでは、我々は糸を使用していますが、NPMを使用する場合は、すべてのコマンドは同様に動作しなければならないので、自由に感じてください.以下のCRAコマンドでは、フラグを追加してください
--use-npm
NPMプロジェクトとして初期化する.npx create-react-app component-lib
次のステップは、私たちのプロジェクトにストーリーブックを追加することです.npx -p @storybook/cli sb init
あなたはこれらの新しい糸のスクリプトをpackage.json
:"scripts": {
...
"storybook": "start-storybook -p 9009 -s public",
"build-storybook": "build-storybook -s public"
}
注意:使用する絵本のバージョンを書くときは5.3です.デフォルトでは、ストーリーブックはあなたのすべてのファイルを読む
src/
次のディレクトリ.stories.js
サフィックス.storybook/main.js
)stories: ['../src/**/*.stories.js'],
このポストの目的のために、我々はそれを簡単にして、我々のすべての物語を配置しますsrc/stories
フォルダ.ストーリーブックを実行するには、次のダッシュボードが表示されます.
yarn storybook
StoryBookは、デモのプロジェクトからボックスのボックスから出てくるが、我々は次のステップで自分自身を作成されます.
独自のコンポーネントの作成
ここでは、いくつかのバリエーションを持つ単純なボタンコンポーネントを作成します.
// src/components/Button.js
import React from 'react';
import './button.css';
const colors = {
default: 'default',
primary: 'primary',
secondary: 'secondary',
};
const Button = ({ children, onClick, color, disabled }) => {
const className = colors[color] ? `button ${colors[color]}` : 'button';
return (
<button className={className} onClick={onClick} disabled={disabled}>
{children}
</button>
);
};
export default Button;
コンポーネントのスタイルを以下に定義します.お使いのコンポーネントのスタイリングのあなたの好みの方法を使用して自由に感じる.この場合、単純なCSSを使用するだけです./* src/components/button.css */
.button {
font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
padding: 6px 16px;
font-size: 12px;
min-width: 64px;
box-sizing: border-box;
font-weight: 500;
line-height: 1.75;
letter-spacing: 2px;
cursor: pointer;
border-radius: 4px;
box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
}
.button[disabled] {
cursor: default;
pointer-events: none;
color: rgba(0, 0, 0, 0.26);
box-shadow: none;
background-color: rgba(0, 0, 0, 0.12);
}
.primary {
color: #fff;
background-color: #1976d2;
}
.secondary {
color: #fff;
background-color: #dc004e;
}
私たちは私たちのボタンのコンポーネントの各バリエーションの次の記事を作成します.// src/stories/Button.stories.js
export const Primary = () => (
<Button color="primary" onClick={action('clicked')}>
Primary Button
</Button>
);
export const Secondary = () => (
<Button color="secondary" onClick={action('clicked')}>
Secondary Button
</Button>
);
export const Disabled = () => (
<Button color="secondary" onClick={action('clicked')} disabled={true}>
Disabled Button
</Button>
);
export const WithEmojis = () => (
<Button onClick={action('clicked')}>
<span role="img" aria-label="so cool">
With Emojis 😀 😎 👍 💯
</span>
</Button>
);
ストーリーブックでは次のようになります.建築と輸出の静的アプリとして
ここで、単一のボタンコンポーネントから構成されるコンポーネントライブラリを作成しました.我々は今、それを構築し、エクスポートしようと考えます.他の糸スクリプトを実行しなければなりません.
"build-storybook": "build-storybook -s public"
以下を実行すると、静的なストーリーブックファイルがstorybook-static
ディレクトリ.yarn build-storybook
静的Webアプリケーションとして展開することができます.フォローアップポストでは、この方法を指示します.NPMライブラリを使ってこれを展開することができますhttp-server 次のコマンドを使用します.
npx http-server storybook-static
クロージングノート
我々は、ストーリーブックとCRAを使用して簡単な反応コンポーネントライブラリを作成することを行ってきました.StoryBook私たちはそれを達成するために簡単にするためのツールを提供します.我々はちょうど表面に触れているとストーリーブックはもっとアドオン、テストとより多くを提供します.詳しく見るhere . フォローアップポストでは、私たちは他の反応アプリでそれを使用することができますので、静的サイトを展開し、公開のNPMレジストリにライブラリとしてボタンのコンポーネントを公開を介して行くので、チューニングを維持します.
次の読書と感謝.✌🏼
Reference
この問題について(ストーリーライブラリを使用してコンポーネントライブラリを作成し、反応アプリを作成します), 我々は、より多くの情報をここで見つけました https://dev.to/jericopingul/how-to-create-a-component-library-using-storybook-and-create-react-app-44neテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol