如何将虚拟凤凰应用程序包含在库中

时间:2017-09-05 20:12:41

标签: elixir phoenix-framework

如果您熟悉Rails,那么引擎插件中的test/dummy rails应用程序可用于测试等等。

我怎么会包括像我的图书馆这样的东西?我需要那个凤凰应用程序,所以我可以使用从Ecto模型渲染一些数据的视图。我不希望这个虚拟应用程序与我的库的其余部分一起编译。我可以在技术上做一个单独的回购,但我想知道是否有更好的方法。

1 个答案:

答案 0 :(得分:1)

如果它纯粹是出于开发目的,那么您最好在伞形模式下创建Phoenix应用程序并将您的库添加为普通的伞形儿童应用程序。

这样,您可以使用Phoenix但它与您的lib完全分离,并且只使用您的lib作为依赖,就像任何其他用户一样。

设置命令的示例:

mix phx.new my_lib_dev --umbrella

cd my_lib_dev_umbrella/apps

mix new my_lib

然后在my_lib_dev_umbrella/apps/my_lib_dev_web/mix.exs中,您可以使用{:my_lib, in_umbrella: true}将您的lib添加为依赖项。

现在你可以在my_lib_dev_umbrella/apps/my_lib中开发你的lib了,它完全与Phoenix本身分离,但是你的Phoenix设置将它包含为依赖,并且行为与用户从Hex中提取的行为相同。

如果您不熟悉伞形设置,可以在此处阅读更多相关信息: Umbrella Projects · Elixir School