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