SCSSを利用する際、整理されたフォルダ構成はプロジェクトのスケーラビリティとメンテナンス性を大幅に向上させます。以下は一般的に採用されているフォルダ構成の例を紹介しています
それぞれ詳しく解説していきます。
scss/
├── abstracts/
│ ├── _variables.scss
│ ├── _mixins.scss
│ └── _functions.scss
├── base/
│ ├── _reset.scss
│ ├── _typography.scss
│ └── _base.scss
├── components/
│ ├── _buttons.scss
│ ├── _cards.scss
│ └── _modals.scss
├── layout/
│ ├── _header.scss
│ ├── _footer.scss
│ └── _grid.scss
├── pages/
│ ├── _home.scss
│ └── _about.scss
└── main.scss
各フォルダとファイルの目的
1. abstracts/
このフォルダは、プロジェクト全体で使用されるSCSSのヘルパーを保持します。具体的には:
- _variables.scss: カラー、フォントサイズ、マージンなどのグローバル変数。
- _mixins.scss: 再利用可能なスタイルブロック。
- _functions.scss: スタイルに関連するカスタム関数。
2. base/
このフォルダには、HTML要素の基本的なスタイルが含まれます。主に:
- _reset.scss: ブラウザのデフォルトスタイルをリセット。
- _typography.scss: タイポグラフィの基本ルール(フォント、サイズなど)。
- _base.scss: その他の基本的なスタイル設定。
3. components/
UIの再利用可能な部品(コンポーネント)ごとのスタイル。例えば:
- _buttons.scss: ボタンのスタイル。
- _cards.scss: カードコンポーネントのスタイル。
- _modals.scss: モーダルウィンドウのスタイル。
4. layout/
ページのレイアウトに関するスタイル。例:
- _header.scss: ヘッダーのスタイル。
- _footer.scss: フッターのスタイル。
- _grid.scss: グリッドシステム。
5. pages/
特定のページに特有のスタイル。例:
- _home.scss: ホームページ固有のスタイル。
- _about.scss: 「私たちについて」ページのスタイル。
6. main.scss
このファイルは、上記のすべてのSCSSファイルをインポートするエントリーポイントです。
メリット
このような構成にするメリットは多岐にわたります:
- メンテナンス性の向上: 各スタイルが明確に分類されているため、特定のスタイルを見つけやすく、更新が容易です。
- 再利用性: `components/` や `abstracts/` によって、コードの重複が減り、再利用性が高まります。
- 拡張性: 新しいコンポーネントやページが追加される場合、既存の構成に容易に組み込むことができます。
- 一貫性: `abstracts/` 内の変数やミックスインによって、スタイルの一貫性が保たれます。
このように整理された構成は、SCSSを使う大規模プロジェクトにおいて、開発の効率と品質を大幅に向上させることができます。
プロジェクトの規模が大きくなるにつれて適切な構成が非常に重要になってきますので、是非参考にしてみください!