Какие плюсы и минусы Module Federation при использовании tree shaking

«Какие плюсы и минусы Module Federation при использовании tree shaking» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Плюсы:

  • Позволяет выборочно загружать только нужные модули из удаленных приложений, уменьшая размер бандла.
  • Поддерживает динамический импорт, что улучшает tree shaking при разделении кода.
  • Можно шарить общие зависимости между микрофронтендами, избегая дублирования.

Минусы:

  • Требует точной настройки Webpack для корректного tree shaking (оптимизация sideEffects, usedExports).
  • Может не работать с некоторыми библиотеками, если они не поддерживают ESM или имеют побочные эффекты.
  • Усложняет дебаггинг из-за распределенной природы загрузки модулей.

Пример настройки Webpack:

// webpack.config.js
module.exports = {
  optimization: {
    usedExports: true,
    sideEffects: true,
  },
}