Выбор ответа Junior Feature-Sliced Design обновлено

Зачем публичный API слайса

Вопрос

Зачем у слайса FSD файл index.ts с публичным API?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Чтобы снаружи брали только разрешённое, а внутренности можно было менять. Публичный API это контракт слайса: снаружи import { ProductCard } from "@/entities/product", а что внутри лежит в ui/ или model/, можно переставлять.

Варианты ответа

  1. Это требование TypeScript: без index.ts папку нельзя импортировать
  2. Чтобы снаружи брали только разрешённое, а внутренности можно было менятьправильный ответ
  3. Чтобы ускорить сборку: бандлер читает один файл вместо всей папки
  4. Чтобы автоматически включался tree-shaking для всего слайса

Разбор

Публичный API это контракт слайса: снаружи import { ProductCard } from "@/entities/product", а что внутри лежит в ui/ или model/, можно переставлять. TypeScript импорт папки без index разрешает только при настроенной резолюции, но FSD нужен не для этого. Сборку barrel-файлы скорее замедляют, а tree-shaking от них не включается, иногда наоборот мешает, если в них есть побочные эффекты.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме