FAQ
質問は、Discordコミュニティ、GitHub Discussions、およびTelegramチャットで聞くことができます。
ツールキットやリンターはありますか?
はい!CLI または IDE を通じてプロジェクトのアーキテクチャと フォルダー ジェネレーター をチェックするための Steiger というリンターがあります。
ページのレイアウト/テンプレートはどこに保存すればよいですか?
シンプルなレイアウトテンプレートが必要な場合は、shared/ui
に保存できます。より上層のレイヤーを使用する必要がある場合、いくつかのオプションがあります。
- レイアウトが本当に必要ですか?レイアウトが数行で構成されている場合、各ページにコードを重複させる方が合理的です。
- レイアウトが必要な場合は、個別のウィジェットやページとして保存し、App層のルーター設定にそれらを組み合わせることができます。ネストされたルーティングも一つのオプションです。
フィーチャーとエンティティの違いは何ですか?
エンティティはアプリケーションが扱う現実世界の概念です。フィーチャーはユーザーに実際の価値を提供するインタラクションであり、ユーザーがエンティティで行いたいことです。
詳細および例については、参考書セクションのスライスについてのページを参照してください。
ページ/フィーチャー/エンティティを相互に埋め込むことはできますか?
はい、しかし、この埋め込みはより上層のレイヤーで行う必要があります。例えば、ウィジェット内で両方のフィーチャーをインポートし、プロップス/子要素として一方のフィーチャーを他方に挿入することができます。
一方のフィーチャーを他方のフィーチャーからインポートすることはできません。これはレイヤーのインポートルールで禁止されています。
Atomic Designはどうですか?
現在、アトミックデザインをFeature-Sliced Designと一緒に使用することを義務付けていませんが、禁止もしていません。
アトミックデザインは、モジュールのui
セグメントにうまく適用できます。
FSDに関する有用なリソース/記事などはありますか?
はい! https://github.com/feature-sliced/awesome
なぜFeature-Sliced Designが必要なのですか?
FSDは、プロジェクトの主要な価値を提供するコンポーネントの観点から、あなたとあなたのチームが迅速にプロジェクトを把握するのに役立ちます。標準化されたアーキテクチャは、オンボーディングを迅速化し、コード構造に関する議論を解決するのに役立ちます。FSDが作成された理由については、モチベーションのページを参照してください。
初心者の開発者にFSDのアーキテクチャ/設計方法論は必要ですか?
おそらく必要です。
通常、一人でプロジェクトを設計・開発する場合、すべてが順調に進みます。しかし、開発に中断が生じたり、新しい開発者がチームに加わると問題が発生します。
認証コンテキストをどのように扱えばよいですか?
こちらで回答しています。