Проверяет понимание роли index-файлов в модульных системах и их влияния на структуру импортов и организацию кода.
Index-файл — это соглашение, принятое в большинстве модульных систем (Node.js, Webpack, TypeScript, bundlers). Когда вы пишете import x from './utils', резолвер ищет файл ./utils/index.js (или index.ts, index.jsx и т.д.). Это поведение встроено в алгоритм разрешения модулей и не требует дополнительной настройки.
package.json поле main часто указывает на index.js.// utils/index.ts
export { formatDate } from './formatDate';
export { parseDate } from './parseDate';
export { isValidDate } from './validate';
// где-то в коде
import { formatDate, parseDate } from './utils';
Без index-файла пришлось бы писать три отдельные строки импорта с полными путями. Barrel-файлы особенно удобны в больших проектах, где компоненты или утилиты разбиты по папкам.
В TypeScript также важно помнить, что index.ts не влияет на типы — он просто реэкспортирует их так же, как значения.
Итог: index-файлы стоит применять для организации публичного API модуля или папки, но избегать их в горячих путях и при риске циклических зависимостей.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию