【问题标题】:Shared code in umbrella app伞形应用程序中的共享代码
【发布时间】:2023-04-11 12:23:01
【问题描述】:

我的伞形应用程序有以下目录结构:

umbrella_app/
    _build/
    apps/
      client/
         config/
         lib/
           client.ex
         test/
       server/
         ...
    config/

有没有一种方法可以让我在 umbrella_app 中的某处编写代码,无需创建另一个子应用程序即可从我的 clientserver 访问?

如:

# umbrella_app/apps/client/lib/client.ex

defmodule UmbrellaApp.Client do
  UmbrellaApp.some_function()
end

【问题讨论】:

    标签: elixir


    【解决方案1】:

    是的。在保护伞内创建另一个应用程序。假设您将应用命名为 shared,那么您会将其添加到您的其他应用 mix.exs 依赖项中:

    defp deps do
      [
        ...
        {:shared, in_umbrella: true},
        ...
      ]
    end
    

    例如,现在您可以像在同一应用程序中一样调用代码Shared.do_something

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-09
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      相关资源
      最近更新 更多