advanced

Feature-Sliced Design

Организуйте frontend modules по app, pages, widgets, features, entities и shared layers, когда эти dependency rules подходят product.

Feature-Sliced Design делит frontend на слои — app, pages, widgets, features, entities, shared — с правилами импорта: нижние slices не зависят от верхних продуктовых концептов. Масштабирует команды через colocation feature code и public API per slice.

На интервью: допустимые импорты между слоями и почему `shared` не импортирует `features`. Сравнение с folder-by-type.

Типовые ошибки: слои как пустые папки; обход правил relative paths; shared как свалка.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Public API slice через index exports.
  • Lint границ импорта между слоями.
  • Colocation UI, model и API feature.
  • Документация именования slices для новичков.