You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Переводы сейчас собираются в один большой объект, чтобы далее встроить его в html.
Сборка переводов происходит тут
Сейчас нет никакой оглядки на то, используются ли у нас в конкретном вебаппе какие-то компоненты и их переводы или нет и собираются все переводы какие можем найти.
Как хотели бы решать проблему с переводами?
Для того, чтобы не встраивать лишние переводы, нам нужно смотреть на то, какие компоненты используются в вебаппе и добавлять только переводы к ним.
Почти всю информацию можно извлекать из построенного components-lock или же из результата вызова функции buildProjectGraph(), но с этим есть некоторые проблемы.
Проблемы components-lock
Допустим у нас есть следующие проекты и наборы "слоёв" @edadeal/foo-webapp -> @edadeal/core -> @v4fire/client -> @v4fire/core @edadeal/bar-webapp -> @edadeal/core -> @v4fire/client -> @v4fire/core
Сейчас, при сборке конечного вебаппа(например @edadeal/foo-webapp), в components-lock, попадают компоненты со всех слоёв, в том числе, которые в нашем конечном вебаппе могут вовсе не использоваться.
В примере выше, "проблемными" являются по сути все общие слои между foo-webapp и bar-webapp, т.к. в components-lock обоих вебаппов, попадут все компоненты из общих слоёв.
Решение
Вероятно, мы бы хотели удалять из components-lock все компоненты, со слоёв ниже, которые, не фигурируют в dependencies используемых в вебаппе компонентов.
Проблемы решения
У нас пока нет информации о том, какие модули встраиваются динамически через self.loadModules()
Пока нет понимания, как определить используемость переводов из модулей по типу core/helpers, поэтому их скорее всего придётся оставлять полностью.
Пока нет чёткого понимания, на каком этапе оптимальнее всего искать и удалять из components-lock неиспользуемые компоненты в связи первым пунктом.
The text was updated successfully, but these errors were encountered:
Оптимизация переводов в бандле
Постановка проблемы
Переводы сейчас собираются в один большой объект, чтобы далее встроить его в html.
Сборка переводов происходит тут
Сейчас нет никакой оглядки на то, используются ли у нас в конкретном вебаппе какие-то компоненты и их переводы или нет и собираются все переводы какие можем найти.
Как хотели бы решать проблему с переводами?
Для того, чтобы не встраивать лишние переводы, нам нужно смотреть на то, какие компоненты используются в вебаппе и добавлять только переводы к ним.
Почти всю информацию можно извлекать из построенного components-lock или же из результата вызова функции
buildProjectGraph()
, но с этим есть некоторые проблемы.Проблемы components-lock
Допустим у нас есть следующие проекты и наборы "слоёв"
@edadeal/foo-webapp -> @edadeal/core -> @v4fire/client -> @v4fire/core
@edadeal/bar-webapp -> @edadeal/core -> @v4fire/client -> @v4fire/core
Сейчас, при сборке конечного вебаппа(например
@edadeal/foo-webapp
), в components-lock, попадают компоненты со всех слоёв, в том числе, которые в нашем конечном вебаппе могут вовсе не использоваться.В примере выше, "проблемными" являются по сути все общие слои между
foo-webapp
иbar-webapp
, т.к. в components-lock обоих вебаппов, попадут все компоненты из общих слоёв.Решение
Вероятно, мы бы хотели удалять из components-lock все компоненты, со слоёв ниже, которые, не фигурируют в dependencies используемых в вебаппе компонентов.
Проблемы решения
self.loadModules()
core/helpers
, поэтому их скорее всего придётся оставлять полностью.The text was updated successfully, but these errors were encountered: