Вопрос проверяет понимание причин перехода к микрофронтендам и критериев, по которым приложение стоит или не стоит разделять на независимые части.
Микрофронтенды — это архитектурный подход, при котором единое фронтенд-приложение разбивается на несколько независимо разрабатываемых и деплоимых частей. Каждая часть отвечает за свой бизнес-домен и может использовать собственный стек, иметь свой цикл релизов и свою команду.
// host/webpack.config.js
new ModuleFederationPlugin({
name: 'host',
remotes: {
catalog: 'catalog@https://cdn.example.com/remoteEntry.js'
},
shared: ['react', 'react-dom']
});
// В коде хоста
const Catalog = React.lazy(() => import('catalog/App'));
Здесь хост-приложение подгружает удалённый модуль каталога во время выполнения, а общие зависимости (React) шарятся, чтобы не дублировать их.
Если приложение небольшое, команда одна и релизы не конфликтуют, микрофронтенды принесут больше проблем: усложнится сборка, вырастет размер бандла, появятся проблемы с общим состоянием и стилями.
Итог: применять микрофронтенды стоит при масштабировании команд и необходимости независимых релизов по бизнес-доменам; в небольших проектах это избыточно.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию