Sass — это мощный препроцессор, который расширяет возможности CSS. При работе над более крупными проектами наличие хорошо организованной структуры проекта может сделать ваш код более удобным для поддержке. В этой статье мы рассмотрим некоторые рекомендации по структурированию проекта Sass.
Вот пример структуры проекта, которую вы можете использовать в качестве отправной точки для ваших проектов с использованием Sass:
my-sass-project/
├── scss/
│ ├── abstracts/
│ │ ├── _variables.scss
│ │ ├── _functions.scss
│ │ ├── _mixins.scss
│ │ └── _placeholders.scss
│ ├── base/
│ │ ├── _reset.scss
│ │ ├── _typography.scss
│ │ ├── _grid.scss
│ │ └── _utilities.scss
│ ├── components/
│ │ ├── _button.scss
│ │ ├── _form.scss
│ │ └── _card.scss
│ ├── layout/
│ │ ├── _header.scss
│ │ ├── _footer.scss
│ │ └── _sidebar.scss
│ ├── pages/
│ │ ├── _home.scss
│ │ ├── _about.scss
│ │ └── _contact.scss
│ ├── themes/
│ │ ├── _theme.scss
│ │ └── _theme-dark.scss
│ ├── vendors/
│ │ └── _normalize.scss
│ └── main.scss
├── css/
│ └── main.css
├── index.html
└── README.md
Давайте подробнее рассмотрим каждый каталог и файл:
- scss/: Этот каталог содержит все файлы Sass.
- abstracts/: Этот каталог содержит файлы Sass, которые определяют глобальные переменные, функции, микшины и заполнители. Эти файлы содержат код, который сам по себе не выводит никакого CSS, но вместо этого предоставляет функциональность, которая может быть использована в других файлах Sass.
- base/: Содержит файлы Sass, которые определяют основные стили сайта. Каталог может содержать такие файлы, как сброс стилей, типография, сеточная система и утилиты.
- components/: Содержит файлы Sass, которые определяют повторно используемые компоненты пользовательского интерфейса. Это могут быть стили для кнопок, форм, карточек и других UI-элементов.
- layout/: Этот каталог содержит файлы Sass, которые определяют макет сайта. Эти файлы определяют стили для шапки сайта, футера и боковой панели.
- pages/: Содержит файлы Sass, которые определяют стили, специфичные для каждой страницы вашего сайта.
- themes/: Этот каталог содержит файлы Sass, которые определяют темы вашего сайта. Здесь могут содержаться стили для светлых и темных тем.
- vendors/: Содержит файлы Sass, которые импортируют сторонние библиотеки CSS, такие как Normalize.css.
- main.scss: Этот файл импортирует все остальные файлы Sass и служит точкой входа вашего приложения.
- css/: Этот каталог содержит скомпилированный CSS-файл.
- index.html: Этот файл представляет собой образец HTML-файла, который импортирует скомпилированный CSS-файл.
- README.md: Этот файл содержит информацию о проекте и о том, как его запустить.
Использование данной структуры проекта может помочь вам сохранить ваш код Sass организованным и поддерживаемым. Разделив свой код на логические каталоги, вы сможете легче находить нужные стили и вносить изменения, не затрагивая несвязанный код.
Очень интересно, попробую воспользоваться данной архитектурой, но мне как новичку в sass было бы интересно постреть на пример организации такой структуры в каком-нибдуь проекте, мб ссылки на github.