Beta Документация для beta‑теста, возможны ошибки и неточности.
Перейти к содержимому

WARNING

Эта статья сгенерирована AI и требует ручной доработки.

Производительность и FEOD

Эта статья описывает, как правила FEOD помогают управлять производительностью за счёт структуры, а не фреймворк-специфичных трюков.

1. Разделение по страницам и модулям

Pages — естественные точки входа. Это позволяет легко подключать модули по требованию, а не грузить всё сразу.

ts
// app/router.ts
const routes = [
  {
    path: '/reports',
    load: () => import('@/pages/reports')
  }
]

2. Тонкий Common уменьшает размер бандлов

common доступен везде, поэтому любые тяжёлые зависимости внутри него автоматически раздувают все сборки. Держите common минимальным и переносите тяжёлую логику в модули.

3. Публичный API помогает tree-shaking

Экспортируйте только то, что реально используется. Чем меньше лишних экспортов в index.ts, тем проще сборщику отрезать неиспользуемый код.

ts
// modules/Reports/index.ts
export { buildReport } from './api/buildReport'
export type { Report } from './types'

4. Изоляция модулей снижает связность

Когда модули изолированы, их проще загружать отдельно и кэшировать по частям. Глубокие импорты и перекрёстные зависимости разрушают это свойство.

5. Избегайте "монолитных" модулей

Если один модуль включает всё подряд, это почти всегда приводит к росту объёма загрузки. В FEOD лучше дробить модуль на подмодули по доменным задачам.

modules/
  Analytics/
    modules/
      Events/
      Dashboards/

6. App остаётся лёгким

app должен содержать только запуск, роутинг и интеграции. Чем меньше логики в app, тем меньше кода попадает в критический путь загрузки.