Чтобы обеспечить хорошие URL-адреса между частями нашего приложения, мы разбиваем все на несколько модулей, которые скомпилированы независимо. Например, есть часть "менеджер" и часть "редактор". Редактор запускается в новом окне. При этом мы можем напрямую ссылаться на редактор:
/com.example.EditorApp?id=1
Модуль EditorApp просто получает значение id и загружает документ.
Проблема с этим - это ВСЕ код, который является общим между двумя модулями, дублируется на выходе. Это включает в себя любое статическое содержимое (графика), таблицы стилей и т.д.
И еще одна проблема заключается в том, что время компиляции для генерации JavaScript почти удваивается, потому что у нас есть сложный код, разделяемый между обоими модулями, которые нужно обрабатывать дважды.
Кто-нибудь справился с этим? Я рассматриваю возможность утилизации отдельных модулей и объединение их обратно в одну цель компиляции. Единственным недостатком является то, что URL-адреса между нашими "приложениями" становятся чем-то вроде:
/com.example.MainApp?mode=editor&id=1
Каждое окно загружает основной модуль, проверяет значение параметра режима и вызывает соответствующий код инициализации модуля.