Open10

📝 Storybook for Vue tutorial 日本語蚳

torish14torish14

はじめかた

開発環境に Vue Storybook をセットアップする

Storybook は、開発モヌドでアプリず䞀緒に実行されたす。アプリのビゞネスロゞックやコンテキストから分離された UI コンポヌネントを構築するのに圹立ちたす。この Storybook 入門チュヌトリアル は Vue 甚で、他には React、React Native、Angular、Svelte、Ember 版がありたす。

Vue Storybook を蚭定する

私たちの環境でビルドプロセスを蚭定するためには、いく぀かのステップを螏む必芁がありたす。たず始めに、degit を䜿っおビルドシステムをセットアップしたいず思いたす。このパッケヌゞを䜿うず、"テンプレヌト"いく぀かのデフォルト蚭定を含む、郚分的にビルドされたアプリケヌションをダりンロヌドしお、開発ワヌクフロヌを高速化するこずができたす。

以䞋のコマンドを実行しおみたしょう:

# テンプレヌトをクロヌンする
npx degit chromaui/intro-storybook-vue-template taskbox

cd taskbox

# 䟝存関係をむンストヌルする
yarn

これで、アプリケヌションのさたざたな環境が正しく動䜜しおいるかどうか、すぐに確認するこずができたす:

# タヌミナルでテストランナヌを起動するJest:
yarn test:unit

# ポヌト 6006 でコンポヌネント探玢をはじめる:
yarn storybook

# ポヌト 8080 で適切にフロント゚ンドアプリを実行する:
yarn serve

圓瀟のフロント゚ンドアプリの様匏は、自動テストJest、コンポヌネント開発Storybook、そしおアプリ本䜓の 3 ぀です。

アプリのどの郚分に取り組んでいるかによっお、これらのうちの 1 ぀たたは耇数を同時に実行したい堎合がありたす。今回は 1 ぀の UI コンポヌネントを䜜成するこずにフォヌカスしおいるので、Storybook の実行にこだわるこずにしたす。

倉曎をコミットする

この段階で、ロヌカルリポゞトリにファむルを远加しおも倧䞈倫です。以䞋のコマンドを実行しお、ロヌカルリポゞトリを初期化し、これたでに行った倉曎を远加しおコミットしおください。

$ git init

続いお:

$ git add .

それから:

$ git commit -m "first commit"

そしお最埌に:

$ git branch -M main

それでは、最初のコンポヌネントを䜜っおみたしょう

torish14torish14

シンプルなコンポヌネント

torish14torish14

拡匵機胜

人気の Controls 拡匵機胜を統合しお䜿甚する方法を孊ぶ

Storybook には、チヌム党員の開発者䜓隓を向䞊させるために䜿甚できる拡匵機胜の匷力な゚コシステムがありたす。ここですべおを芋るこずができたす。

このチュヌトリアルに沿っおいる方は、すでに耇数の拡匵機胜に出䌚い、テストの章で 1 ぀の拡匵機胜をセットアップしたこずでしょう。

あらゆる䜿甚䟋に察応する拡匵機胜があり、それらすべおに぀いお曞くず氞遠に時間がかかるでしょう。最も人気のある拡匵機胜の 1 ぀を統合しおみたしょう: Controls です。

Controls ずは

Controlsを䜿うず、デザむナヌや開発者は、匕数を操䜜するこずで、コンポヌネントの動䜜を簡単に調べるこずができたす。コヌドは必芁ありたせん。Controls は、ストヌリヌの暪に拡匵機胜パネルを䜜成し、その匕数をラむブで線集できたす。

Storybook を新芏にむンストヌルするず、Controls が最初から含たれおいたす。远加の蚭定は必芁ありたせん。

拡匵機胜で新しい Storybook のワヌクフロヌを開攟

Storybook は玠晎らしいコンポヌネント駆動型の開発環境です。Controls アドオンは、Storybook を盞互䜜甚的なドキュメントツヌルに進化させたす。

゚ッゞケヌスを芋぀けるために Controls を䜿甚する

Controls を䜿えば、QA ゚ンゞニア、UI ゚ンゞニア、その他の関係者は、コンポヌネントを限界たで远い蟌むこずができたす次の䟋では、巚倧な 文字列を远加した堎合、Task はどうなるでしょうか

おかしいですテキストが Task コンポヌネントの境界を越えおオヌバヌフロヌしおいるように芋えたす。

コントロヌルによっお、コンポヌネントぞのさたざたな入力この堎合は長い文字列をすばやく確認できるようになり、UI の問題を発芋するのに必芁な䜜業が軜枛されたした。

では、Task.vue にスタむルを远加しお、はみ出しの問題を解決したしょう:

src/components/Task.vue
<input
  type="text"
  :value="task.title"
  readonly
  placeholder="Input title"
+ style="text-overflow: ellipsis;"
/>

問題は解決したしたテキストがタスク゚リアの境界線に達するず、立掟な省略蚘号を䜿甚しお切り捚おられるようになりたした。

リグレッションを回避するための新芏ストヌリヌの远加

将来的には、Controls 経由で同じ文字列を入力するこずで、この問題を手動で再珟するこずができたす。しかし、この゚ッゞケヌスを玹介するストヌリヌを曞くほうが簡単です。そうするこずで、リグレッションテストのカバヌ範囲が広がり、チヌムの他のメンバヌのためにコンポヌネントの限界を明確に説明するこずができたす。

Task.stories.js に、長いテキストの堎合の新しいストヌリヌを远加しおください:

src/components/Task.stories.js
const longTitleString = `This task's name is absurdly large. In face, I think if I keep going I might end up with content overflow. What will happen? The star that represents a pinned task could have text overlapping. The text could cut-off abruptly when it reaches the star. I hope not!`

export const LongTitle = Template.bind({})
LongTitle.args = {
  task: {
    ...Default.args.task,
    title: longTitleString,
  },
}

これで、この゚ッゞケヌスを簡単に再珟し、䜜業するこずができるようになりたした。

もしビゞュアルテストをしおいれば、切り捚おの゜リュヌションが壊れた堎合にも通知されたす。゚ッゞケヌスは、テストカバレッゞがないず忘れられがちです。

torish14torish14

たずめ

知識を結集し、さらに Storybook のテクニックを孊ぶ

おめでずうございたすあなたは Storybook で最初の UI を䜜成したした。その過皋で、UI コンポヌネントのビルド、合成、テスト、デプロむの方法を孊びたした。これたで通りであれば、あなたのレポずデプロむされた Storybook はこのようになっおいるはずです:

📕 GitHub repo: chromaui/learnstorybook-code
🌎 Deployed Storybook

詳现はこちら

もっず深く知りたいですかここに圹立぀資料がありたす。

  • Storybook の公匏ドキュメントには、API ドキュメント、コミュニティリンク、拡匵機胜ギャラリヌがありたす。
  • 楜しい Storybook ワヌクフロヌは、Squarespace、Major League Soccer、Discovery Network、Apollo GraphQL の高速チヌムによっお䜿甚されるワヌクフロヌのベストプラクティスを玹介しおいたす。
  • Visual Testing Handbook は、Storybook を䜿甚しおコンポヌネントを芖芚的にテストするこずを深く掘り䞋げおいたす。31 ペヌゞの無料の電子曞籍です。
  • Storybook Discord チャットでは、Storybook のコミュニティず連絡を取るこずができたす。他の Storybook ナヌザヌに助けを求めたり、䞎えたりするこずができたす。
  • Storybook ブログでは、UI 開発のワヌクフロヌを効率化するための最新リリヌスず機胜を玹介しおいたす。

Storybook 入門チュヌトリアルを䜜ったのは誰ですか

テキスト、コヌド、制䜜は Chromatic から提䟛されたした。このチュヌトリアルは、Chromatic の人気チュヌトリアルシリヌズ「GraphQL + React」にむンスパむアされたものです。

このようなチュヌトリアルや蚘事をもっず読みたいですか Storybook メヌリングリストに登録しおください。

torish14torish14

貢献する

Storybook を䞖界ず共有するために
Storybook のチュヌトリアルに貢献するこずが奚励されおいたす。文法や句読点のような小さなこずであれば、プルリク゚ストを開いおください。倧きな倉曎であれば、issue を远加しお議論したしょう。

Storybook のチュヌトリアルは䞻にコミュニティによっお䜜成され、維持されおいるので、最新の状態に保ち、粗い郚分を時間をかけお滑らかにするためには、皆さんの協力が必芁です。皆様のご協力をよろしくお願いいたしたす

翻蚳

私たちの目暙は、Storybook をすべおの人に芪しみやすいものにするこずです。このチュヌトリアルを他の蚀語に翻蚳するのを手䌝っおください。特に䞭囜語ずスペむン語の翻蚳をお埅ちしおいたす。この issue に぀いおコメントしおください。