Open12
Next.jsのディレクトリ構成をどうするか
いろいろ参考にする
- components/
- 全ページ共有、ページ固有のコンポーネントを分ける
- pages/
- componentを呼び出す
- services/
- ユーザーのアクションに応じて、データの加工(結合や集計など)を行うコードを置いておきます。
- 加工元となるデータ取得は、repositories配下の関数を呼び出す
- ユーザーの1アクションに対して、1つのサービス関数を作るイメージ
- repositories/
- DBやSaaSにアクセスする
- models/ entities/
- servicesで加工したデータと、repositoriesで取得したデータの区別が付きやすいように、servicesで生成するオブジェクトについては、モデル名にXXXDataのようなサフィックスをつけるようにしています
- libs/
- 使用しているライブラリ固有のコードで、初期化や設定のコードなど、データ取得に絡まないコードはここに配置します。
- ライブラリ毎にまるっと切り替わる可能性があるので、ライブラリごとにディレクトリを分けています。
- utils/
- グローバルで使える便利な関数
- constants/
- グローバルで参照される定数
- srcがある
- hooks
- stores
- グローバル状態を管理するhooksを配置する。
- types
Atomic Designを使うか使わないか
依存方向
featuresディレクトリを作る