реализовывал подобное. В общем, есть umbrella проект с несколькими phoenix приложениями внутри. У одного приложения (Master), Endpoint запущен с server: true, у остальных (App1, App2) приложений он false.
Вопрос заключается в следующем: Когда я на одной из страниц в Master генерирую ссылку, вызывая App1Web.Router.Helpers.page_path(conn, :index), и при этом, на одной из страниц App1 генерирую ссылку MasterWeb.Router.Helpers.page_path(conn, :index), то при компиляции я получаю предупреждение вида:
function App1.Router.init/1 is undefined (module App1.Router is not available). При этом компиляция происходит, ссылки корректно генерируются а приложение работает в штатном режиме. Кто нибудь в курсе с чем это связано и как "кошерно" решить данную задачу, настроив перелинковку между несколькими phoenix приложениями внутри одного umbrella проекта, чтобы компилятор не ругался?
ЗЫ: эти warning-и появляются только раз. При повторной компиляции предупреждение не возникает.
каждое приложение компилируется со своим списком зависимостей, App1, очевидно, нет в зависимостях у Master, в runtime загружены и видны все модули, потому все работает.
Собственно это я и предполагал, но остается открытым вопрос как теперь реализовать перелинковку между приложениями, которые фактически находятся на одном и том же «уровне»
Обсуждают сегодня