凤凰伞编译顺序

时间:2018-01-24 11:29:36

标签: macros elixir phoenix-framework

我有一个包含3个应用的伞状项目:main_webmainchild

我在main应用使用的child中定义了一个宏。

编译时,我有时会收到一条错误,说Main.MyMacro some_file_in_child_app.ex未在some_file_in_child_app.ex中定义,当我再次运行相同的命令时,一切都很好。

我认为这是来自Main.MyMacro尝试在编译之前使用宏。

确保加载mix compile apps/main的好方法是什么,以便我可以避免此错误?

我不确定是否正确行驶react native是正确的方法

1 个答案:

答案 0 :(得分:4)

如果您的伞形应用程序之间存在依赖关系,则需要明确列出它们。

您应该将其添加到apps/child/mix.exs

def deps do
  [
    # ... other deps ...
    {:main, in_umbrella: true}
  ]
end

现在,Mix会确保在编译main之前编译child

相关问题