亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
コンポーネントライブラリにストーリーブックを使用するのはなぜですか?
ストーリーブックのセットアップ
コンポーネントライブラリの整理
便利な物語を書く
ドキュメントとコントロールを追加します
それを保守可能に保つためのベストプラクティス
最終的な考え
ホームページ ウェブフロントエンド H5 チュートリアル ストーリーブックでコンポーネントライブラリを構(gòu)築します

ストーリーブックでコンポーネントライブラリを構(gòu)築します

Aug 01, 2025 am 06:35 AM

NPX Storybook@最新のinitを使用してストーリーブックをインストールすることから始めて、依存関係、構(gòu)成、およびサンプルストーリーをセットアップします。 2.スケーラビリティのために、共同配置されたストーリー、テスト、インデックスファイルを使用して、孤立したフォルダーでコンポーネントを整理します。 3.インタラクティブな小道具操作のためにARGSとコントロールを使用して、さまざまな狀態(tài)(ロード、障害など)をカバーする包括的なストーリーを作成します。 4.リビングスタイルガイドのドキュメントタブ、視覚的コントロール、アクション、およびビューポートの切り替えを生成するためにアドオンエッセンシャルを有効にします。 5.ベストプラクティスに従ってください:一貫した命名(コンポーネント/ボタンなど)を使用し、ストーリーを更新し、タイプスクリプトを採用し、コンポーネントをきれいにエクスポートします。 6. A11Yテストで強(qiáng)化し、視覚回帰のために色を描き、チームアクセスのためにオンラインで公開します。 7.ライブラリを進(jìn)化するシステムとして扱います。コアコンポーネントで小さく開始し、ドキュメント、テスト、設(shè)計(jì)トークンを繰り返し追加して、チーム間で共有された持続可能なUI言語を構(gòu)築します。

それで、あなたはコンポーネントライブラリを構(gòu)築することを考えています - 素晴らしい動(dòng)き。チームや複數(shù)のプロジェクトで作業(yè)している場(chǎng)合、堅(jiān)実なコンポーネントライブラリはUIを一貫性を保ち、開発をスピードアップし、テストを簡(jiǎn)単にします。そのライブラリを構(gòu)築して紹介するのに役立つ最良のツールの1つですか?ストーリーブック。

開始する方法と、セットアップ時(shí)に実際に重要なことは次のとおりです。


コンポーネントライブラリにストーリーブックを使用するのはなぜですか?

ストーリーブックは、UIコンポーネントを単獨(dú)で開発するためのサンドボックスを提供します。つまり、ボタンを微調(diào)整するためだけに完全なアプリをスピンアップする必要はありません?;镜膜水悿胜霠顟B(tài)またはユースケース(読み込みボタン、無効ボタンなど)である各コンポーネントのストーリーを作成します。

開発者だけではありません。デザイナー、QA、および製品の人々は、それを使用して、何が利用できるか、物事がどのように振る舞うかを見ることができます。さらに、テストツール、ドキュメント、設(shè)計(jì)システムと統(tǒng)合します。


ストーリーブックのセットアップ

新鮮なものを開始している場(chǎng)合(または既存のReact、Vue、またはその他のフロントエンドプロジェクトに追加)、最も簡(jiǎn)単な方法は自動(dòng)CLIを使用することです。

 NPXストーリーブック@最新のinit

これは:

  • ストーリーブックの依存関係をインストールします
  • 基本設(shè)定を構(gòu)成する( main.js 、 preview.js
  • サンプルストーリーを追加します
  • スクリプトを設(shè)定してローカルに実行します

セットアップ後、実行してください:

 NPMランストーリーブック

また、コンポーネントのサンプルを備えたデフォルトのUIが表示されます。


コンポーネントライブラリの整理

構(gòu)造が重要です。クリーンフォルダーのセットアップにより、ライブラリがスケーラブルになります。

これが実用的なパターンです:

 SRC/
├├)/
│││。8ボタン/
││├。。
││├│。。
││├├│。-button.test.js
││└││。Js
│├·ックス
││││。-odal.jsx
││├││。stories.stories.js
││└││。Js
│└│ク(すべてのコンポーネントをエクスポート)

各コンポーネントには獨(dú)自のフォルダーがあり、そのストーリーファイルのすぐ隣にあります。このコロケーションにより、コンポーネントが進(jìn)化するにつれてストーリーを簡(jiǎn)単に見つけて更新できます。

.stories.jsファイルで:

 // button.stories.js
デフォルトのエクスポート{
  タイトル:「コンポーネント/ボタン」、
  コンポーネント:ボタン、
};

constプライマリ= {{{
  args:{
    ラベル:「私をクリックして」、
    プライマリ:本當(dāng)、
  }、
};

const disabledをエクスポート= {
  args:{
    ラベル:「無効」、
    無効:本當(dāng)、
  }、
};

これで、ストーリーブックのサイドバーに「コンポーネント」の下に「ボタン」が表示され、2つの州が表示されます。


便利な物語を書く

ただ幸せな道を見せないでください。考えてみてください:

  • さまざまな小道具
  • 狀態(tài)の読み込み
  • エラー條件
  • 応答性のある動(dòng)作(該當(dāng)する場(chǎng)合)

非DevsがUIで小道具を調(diào)整できるように、 argsコントロールを使用してください。

デフォルトのエクスポート{
  タイトル:「コンポーネント/入力」、
  コンポーネント:入力、
  argtypes:{
    変異體: {
      コントロール:「Select」、
      オプション:['outlined'、 'fill'、 'Standard']、
    }、
  }、
};

const defaultをエクスポート= {
  args:{
    ラベル:「名前」、
    プレースホルダー:「あなたの名前を入力」、
  }、
};

これで、ストーリーブックコントロールパネルのドロップダウンを取得して、バリアントをライブにしました。


ドキュメントとコントロールを追加します

Storybookは、 MDXまたは組み込みのドキュメント生成を使用して、各コンポーネントの「Docs」タブを自動(dòng)的に生成します。

main.jsで有効にしてください:

 // .storybook/main.js
module.exports = {
  ストーリー:['../src/components/**/*.stories.@(js|jsx|ts|tsx)']、
  アドオン:[
    '@StoryBook/Addon-Essentials'、//コントロール、ドキュメント、アクションなどが含まれます。
  ]、、
};

@storybook/addon-essentialsを使用すると、

  • 小道具の視覚的コントロール
  • 自動(dòng)生成ドキュメント
  • イベントを見るためのアクションパネル
  • ビューポートスイッチング(モバイル/デスクトップ)
  • 背景

これにより、ストーリーブックはリビングスタイルガイドになります。


それを保守可能に保つためのベストプラクティス

  • 一貫してストーリーに名前を付ける- Components/ButtonForms/Inputなどの明確な階層を使用する
  • 説明的なストーリー名を使用します- 「アイコン付き」は「例2」よりも優(yōu)れています
  • ストーリーをコードと同期させる- 時(shí)代遅れのストーリーはユーザーを誤解させる
  • タイプスクリプトを使用- オートコンプリートを改善し、ストーリーのエラーを削減します
  • コンポーネントをきれいにエクスポート- 他の場(chǎng)所にライブラリから簡(jiǎn)単にインポートできるようにします

また、考えてみてください:

  • @storybook/addon-a11yでアクセシビリティテストを追加します
  • 視覚回帰テストのためにクロマティックと統(tǒng)合
  • チームアクセスのためにストーリーブックをオンラインで公開する(githubページ、vercelなど)

最終的な考え

ストーリーブックでコンポーネントライブラリを構(gòu)築するだけでなく、ボタンを披露するだけではありません。それはあなたのチームのために共有言語を作成することです。誰もが利用可能なものとそれがどのように機(jī)能するかを見ることができるとき、あなたは重複を減らし、品質(zhì)を改善します。

小さなスタート - 良いストーリーを備えたいくつかのコアコンポーネント。反復(fù)。時(shí)間の経過とともにドキュメント、テスト、デザイントークンを追加します。

覚えておいてください:コンポーネントライブラリは決して「完了していません」。しかし、ストーリーブックを使用すると、持続可能に成長するための適切なツールがあります。

基本的に、構(gòu)築を開始するだけです - 殘りは続きます。

以上がストーリーブックでコンポーネントライブラリを構(gòu)築しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTML5ドラッグアンドドロップAPIを使用して、ドラッグアンドドロップ機(jī)能を追加します。 HTML5ドラッグアンドドロップAPIを使用して、ドラッグアンドドロップ機(jī)能を追加します。 Jul 05, 2025 am 02:43 AM

Webページにドラッグアンドドロップ機(jī)能を追加する方法は、HTML5のDograndDrop APIを使用することです。これは、追加のライブラリなしでネイティブにサポートされています。特定の手順は次のとおりです。1。ドラッグを有効にするために要素draggable = "true"を設(shè)定します。 2。ドラッグスタート、ドラッグオーバー、ドロップ、ドラッグイベントを聞いてください。 3. Dragstartでデータを設(shè)定し、Dragoverのデフォルト動(dòng)作をブロックし、ドロップのロジックを処理します。さらに、appendChildを介して要素の動(dòng)きを?qū)g現(xiàn)し、e.datatransfer.filesを使用してファイルアップロードを達(dá)成できます。注:DEFOULTを呼び出す必要があります

HTML5サーバーセントイベントでの再接続とエラーの処理。 HTML5サーバーセントイベントでの再接続とエラーの処理。 Jul 03, 2025 am 02:28 AM

HTML5SSEを使用する場(chǎng)合、再接続とエラーに対処する方法には次のものが含まれます。1。デフォルトの再接続メカニズムを理解します。 EventSourceは、デフォルトで接続が中斷されてから3秒後に再試行します。再試行フィールドを介して間隔をカスタマイズできます。 2.接続障害または解析エラーに対処するためにエラーイベントを聞いて、自動(dòng)再接続に依存しているネットワークの問題、サーバーエラーが手動(dòng)で再接続を遅らせる、認(rèn)証障害の更新トークンなど、対応するロジックを?qū)g行し、実行するロジックを?qū)g行します。 3.接続の手動(dòng)での閉鎖と再構(gòu)築、再試行時(shí)間の最大數(shù)を設(shè)定するなど、再接続ロジックを積極的に制御し、ナビゲーターを組み合わせてネットワークステータスを判斷して再試行戦略を最適化します。これらのメジャーは、アプリケーションの安定性とユーザーエクスペリエンスを改善できます。

HTML5 Geolocation APIでユーザーの場(chǎng)所を取得します HTML5 Geolocation APIでユーザーの場(chǎng)所を取得します Jul 04, 2025 am 02:03 AM

Geolocationapiを呼び出すには、navigator.geolocation.getCurrentPosition()メソッドを使用し、許可、環(huán)境、構(gòu)成に注意を払う必要があります。まず、ブラウザがAPIをサポートしているかどうかを確認(rèn)し、次にgetCurrentPositionを呼び出して位置情報(bào)を取得します。ユーザーは、場(chǎng)所へのアクセスを承認(rèn)する必要があります。展開環(huán)境はHTTPSでなければなりません。正確性またはタイムアウトは、構(gòu)成アイテムを使用して改善できます。モバイルの動(dòng)作は、デバイス設(shè)定によって制限される場(chǎng)合があります。エラータイプは、エラーを介して識(shí)別でき、ユーザーエクスペリエンスと機(jī)能的安定性を改善するために、失敗したコールバックに対応するプロンプトが與えられます。

HTML5ビデオに影響を與える自動(dòng)再生ポリシーの変更を理解する。 HTML5ビデオに影響を與える自動(dòng)再生ポリシーの変更を理解する。 Jul 03, 2025 am 02:34 AM

ブラウザがHTML5ビデオの自動(dòng)再生を制限する中心的な理由は、ユーザーエクスペリエンスを改善し、不正なサウンド再生とリソースの消費(fèi)を防ぐことです。主な戦略には以下が含まれます。1。ユーザーの相互作用がない場(chǎng)合、オーディオ自動(dòng)再生はデフォルトで禁止されています。 2。ミュート自動(dòng)再生を許可します。 3。ユーザーがクリックした後、オーディオビデオを再生する必要があります?;Q性を?qū)g現(xiàn)する方法には、ミュートされたプロパティの設(shè)定、最初にミュートしてからJSでプレイし、プレイする前にユーザーのインタラクションを待つことが含まれます。 ChromeやSafariなどのブラウザは、この戦略でわずかに異なって機(jī)能しますが、全體的な傾向は一貫しています。開発者は、最初のミュート再生によってエクスペリエンスを最適化し、ミュートのないボタンを提供し、ユーザーのクリックを監(jiān)視し、再生の例外を処理することができます。これらの制限は、予期しないトラフィック消費(fèi)と複數(shù)のビデオを避けることを目的としたモバイルデバイスで特に厳格です

HTML5ビデオ互換性のさまざまなビデオ形式の処理。 HTML5ビデオ互換性のさまざまなビデオ形式の処理。 Jul 02, 2025 pm 04:40 PM

HTML5ビデオの互換性を改善するには、マルチフォーマットサポートが必要です。特定の方法は次のとおりです。1。さまざまなブラウザをカバーするために、MP4、WebM、およびOGGの3つの主流形式を選択します。 2。タグ內(nèi)の複數(shù)の要素を使用して、優(yōu)先度に応じて配置します。 3.プリロード戦略、クロスドメイン構(gòu)成、レスポンシブデザイン、サブタイトルサポートに注意してください。 4.フォーマット変換には、ハンドブレーキまたはFFMPEGを使用します。そうすることで、あらゆる種類のデバイスやブラウザで動(dòng)畫がスムーズに再生され、ユーザーエクスペリエンスが最適化されます。

アクセシビリティのためにHTML5セマンティック要素を使用してARIA屬性を使用します アクセシビリティのためにHTML5セマンティック要素を使用してARIA屬性を使用します Jul 07, 2025 am 02:54 AM

ARIAおよびHTML5セマンティックタグが必要な理由は、HTML5セマンティック要素にはアクセシビリティの意味がありますが、ARIAはセマンティクスを補(bǔ)完し、補(bǔ)助技術(shù)認(rèn)識(shí)機(jī)能を強(qiáng)化できるためです。たとえば、レガシーブラウザーにサポートがない場(chǎng)合、ネイティブタグのないコンポーネント(モーダルボックスなど)、および狀態(tài)の更新を動(dòng)的に更新する必要がある場(chǎng)合、ARIAはより細(xì)かい粒狀制御を提供します。 NAV、MainなどのHTML5要素は、デフォルトでAriaroleに対応しており、デフォルトの動(dòng)作をオーバーライドする必要がない限り、手動(dòng)で追加する必要はありません。 ARIAを追加する必要がある狀況には、次のものが含まれます。1。アリア拡張/崩壊ステータスを表すためにARIA拡張を使用するなど、不足しているステータス情報(bào)を補(bǔ)足します。 2. DIVロールを使用してタブを?qū)g裝してそれらと一致するなど、セマンティックロールをセマンティックロールに追加します。

共通の脆弱性に対してHTML5 Webアプリケーションを保護(hù)します 共通の脆弱性に対してHTML5 Webアプリケーションを保護(hù)します Jul 05, 2025 am 02:48 AM

HTML5アプリケーションのセキュリティリスクは、主にXSS攻撃、インターフェイスセキュリティ、サードパーティライブラリのリスクを含むフロントエンド開発において注意を払う必要があります。 1. XSSの予防:ユーザー入力をエスケープし、テキストコンテント、CSPヘッダー、入力検証を使用し、JSONの直接実行を回避します。 2。インターフェイスの保護(hù):CSRFTOKEN、SAMESITECOOKIEポリシー、要求の周波數(shù)制限、および機(jī)密情報(bào)を使用して伝送を暗號(hào)化する。 3.サードパーティライブラリの使用:定期的な監(jiān)査依存関係、安定したバージョンの使用、外部リソースの削減、SRI検証の有効化、開発の初期段階からセキュリティラインが構(gòu)築されていることを確認(rèn)します。

CSSとJavaScriptをHTML5構(gòu)造と効果的に統(tǒng)合します。 CSSとJavaScriptをHTML5構(gòu)造と効果的に統(tǒng)合します。 Jul 12, 2025 am 03:01 AM

HTML5、CSS、およびJavaScriptは、セマンティックタグ、妥當(dāng)な読み込み順序、デカップリング設(shè)計(jì)と効率的に組み合わせる必要があります。 1. SEOやバリアのないアクセスを助長する構(gòu)造の明確性と保守性の向上など、HTML5セマンティックタグを使用します。 2。CSSを配置し、外部ファイルを使用し、モジュールごとに分割して、インラインスタイルと遅延荷重問題を回避する必要があります。 3. JavaScriptは、前に導(dǎo)入され、Deferまたは非同期を使用して非同期にロードすることをお?jiǎng)幛幛筏蓼埂?4. 3つの間の強(qiáng)い依存性を減らし、データ - *屬性とクラス名制御ステータスを介して動(dòng)作を促進(jìn)し、統(tǒng)一された命名仕様を介してコラボレーション効率を改善します。これらの方法は、ページのパフォーマンスを効果的に最適化し、チームと協(xié)力することができます。

See all articles