следующая, есть npm пакет в котором лежит сервис синглтон, который будет внутпи хранить состояние, есть ли возможность пошарить его через какие-нибудь externals или peerDeps чтоб его каждый раз не пересоздавать и не терять состояние? Или лучше создать в shell и пропсами пробрасывать в другие микрофронты?
незнаю как у других бандлеров если сборка через вебпак с module fedaration то там можно настраивать чтобы пакет подключался единожды
Ты про shared: packageJson.dependencies,
Лучше пробрасывать пропсами
Ты можешь шарить бандлером, но если у тебя есть четкое требование сохранять состояние этого сервиса между разными микрофронтами, то это лучше сделать явно
Это будет легче со стороны реализации, но такое решение тяжелее поддерживать, в случае npm пакета у нам вся логика инкапсулирована, а в случае с пропсами, она размазана по всем приложениям и получается не очень
Почему его тяжелее поддерживать?
У тебя логика всё ещё инкапсулирована внутри сервиса, просто ты не можешь его заимпортить откуда-нибудь глобально, а должен инстанс явно из провайдера/мидлвейра для стора получать
Появился новый сервис общий, его нужно добавить в каждый микрофронт, в случае с пакетом ты просто делаешь import и все
можно и через контекст прокиинуть
Меня смущает тот факт, что этот сервис у тебя стейтфул
Если это микрофронтенды, то нельзя
Я вот думал об этом, если у меня в shell будет контекст, он будет шариться на все микросервисы или нет
смотря как это организовано
Не будет, если резолвится в рантайме
Если в рантайме, то утыкается всё в ту же задачу "а как контекст пошарить, чтоб у всех один был?"
Обсуждают сегодня