ホームページ >ウェブフロントエンド >jsチュートリアル >StorybookとChromaticでReactアプリをスケーリングします
この記事では、ストーリーブックとクロマティックの合理的な反応コンポーネントライブラリ開発がどのように反応し、ドキュメントの強化、視覚回帰テスト、および改善されたチームコラボレーションを提供する方法を示しています。
主要な利点:
ユニット、インタラクション、およびスナップショットテスト
ユーザーフレンドリーなコンポーネントドキュメント簡略化された公開とホスティング
ストーリーブックは、プロジェクトの依存関係をインテリジェントに検出し、インストールプロセスを最適化します。 互換性情報については、StoryBook Frameworksページを参照してください。 潜在的な依存関係の競合により、手動のインストールは落胆します
構成:
ストーリーブックの構成は、主にで処理され、ドキュメントプレゼンテーション、アドオンを介したUI拡張機能、さらにはWebpack構成のカスタマイズを可能にします。 タイプスクリプトはネイティブにサポートされていますが、CSSアーキテクチャには個別のセットアップが必要です。詳細については、スタイリングとCSSのドキュメントを参照してください サンプルを作成しましょう
アプリを確認した後(
を使用して)、ストーリーブック:<code class="language-bash">npx storybook@latest init</code>をインストールします
<code class="language-bash">npx storybook@latest init</code>
インストールプロンプトを確認します。 ストーリーブックはブラウザで起動します。 .storybook
フォルダー(構成ファイルを含む)とstories
フォルダー(src
内)がプロジェクトに追加されます。 package.json
新しいスクリプトが含まれます:
<code class="language-bash">npx create-react-app my-scalable-component-library</code>
開発にはnpm run storybook
、公開にはnpm run build-storybook
を使用します。 storybook-static
フォルダーには、公開されているストーリーブックが含まれています。このフォルダーを.gitignore
。
main.js
ファイル(以下に示す例)は、さまざまな側面を制御します
<code class="language-bash">npx storybook@latest init</code>
キーはストーリーの場所を指定します。 stories
キーは、プロジェクトの種類ごとに異なります。 framework
キーは自動ドキュメントを有効にします。 高度なオプションについては、ストーリーブックの構成ページを参照してください
docs
アドオンは、ストーリーブック機能を拡張します。 それらは、UIベース(外観の変更)およびプリセットベース(統合テクノロジー)に分類されます。 統合ページには、利用可能なアドオンがリストされています。 Storybookのデフォルトアドオンには、次のものが含まれます
:プロトタイピングのためのストーリーリンク@storybook/addon-links
:本質的なアドオンのコレクション。@storybook/addon-essentials
:CRAの統合を強化します。@storybook/preset-create-react-app
:ガイド付きツアーを提供します
@storybook/addon-onboarding
アクセシビリティアドオンを追加するには、@storybook/addon-interactions
arrayに含めます。
<code class="language-json">"storybook": "storybook dev -p 6006", "build-storybook": "storybook build"</code>
コンポーネントストーリーの作成と文書化:main.js
addons
サンプルを調べてみましょうストーリー:
デフォルトのエクスポートは、メインコンポーネントと設定を定義します。 パラメーターはメタデータを提供します。タグを有効にして、自動生成ドキュメントを有効にします。
引数の動作を定義します。 デフォルトの後に名前付きエクスポートはバリエーションを表し、それぞれがコンポーネントの小道具に合わせてを調整します。
Button
デコレーターは、ストーリーを追加のコンテキストで包みます。 それらは
<code class="language-javascript">/** @type { import('@storybook/react-webpack5').StorybookConfig } */ const config = { stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"], addons: [ "@storybook/addon-links", "@storybook/addon-essentials", "@storybook/preset-create-react-app", "@storybook/addon-onboarding", "@storybook/addon-interactions", ], framework: { name: "@storybook/react-webpack5", options: {}, }, docs: { autodocs: "tag", }, statistics: ["../public"], }; export default config;</code>
argTypes
args
decorators
)は、ビルドフォルダーに静的ファイルを生成します。 ホスティングオプションには、GitHubページ、Netlify、AWS S3が含まれます。 GitHubアクションは、展開をGitHubページに自動化できますVRTのクロマティックの統合:
Chromaticは、視覚回帰テストでストーリーブックを強化します。 クロマティックアカウントを作成し、プロジェクトトークンを取得し、クロマティックパッケージをインストールします。
a
スクリプトを<code class="language-bash">npx storybook@latest init</code>:
に追加します
chromatic
package.json
<code class="language-bash">npx create-react-app my-scalable-component-library</code>ファイルに設定します。 Running
は、クロマティックにストーリーブックを公開します。 CI/CD統合(推奨)については、GitHubアクションを使用します(Chromatic Documentationを参照)。
CHROMATIC_PROJECT_TOKEN
.env
結論:npm run chromatic
ストーリーブックとクロマティックは、コードの品質を大幅に向上させ、効率的なコンポーネントライブラリ開発、テスト、およびコラボレーションを可能にします。 十分に文書化され、スケーラブルで保守可能なアプリケーションを確保します
以上がStorybookとChromaticでReactアプリをスケーリングしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。