我啥时候应该生成混合伞和凤凰伞?
Posted
技术标签:
【中文标题】我啥时候应该生成混合伞和凤凰伞?【英文标题】:When should I generate a mix umbrella vs a phoenix umbrella?我什么时候应该生成混合伞和凤凰伞? 【发布时间】:2019-10-17 05:57:37 【问题描述】:我不确定何时使用 mix 以及何时使用 phoenix 创建伞式应用程序。
我在网上阅读了很多文章,但他们不清楚使用 mix 而不是 phoenix 的原因,反之亦然。
混合给出:
- apps/
- config/
凤凰给予:
- build/dev/(consolidated/lib)
- apps/(app_name/app_name_web)
- config/(configs for different envs)
- deps/(stuffffff)
mix new [UMBRELLA NAME] --umbrella
VS mix phx.new [UMBRELLA NAME] --umbrella
如果我想生成一个具有将提供 html/json 的应用程序的保护伞,我应该如何查看这些命令?
【问题讨论】:
如果有疑问,您可能根本不需要雨伞。 请记住,很多时候您实际上可能不需要伞式应用程序。但是,如果您要选择是想要普通的 Elixir 伞还是凤凰伞。答案归结为您是否正在构建 Phoenix 应用程序。如果没有,那么坚持使用 Elixir 伞。如果是,那就做凤凰伞。你不会被你的决定所束缚。如果您从 Elixir 保护伞开始,后来决定在保护伞中添加一个 phoenix 项目,您仍然可以使用mix phx.new
命令生成一个。
我正在阅读Phoenix In Action 1.4
,它使用$ mix new --umbrella auction_umbrella
。然后在apps/
目录中,这本书会:$ mix new auction --sup
创建“应用程序”。然后在让应用程序自行运行后,它会创建应用程序的 Web 界面:.../apps$ mix phx.new.web auction_web --no-ecto
。我猜 José Valim 是说如果你使用 $ mix phx.new --umbrella auction_web
那么这两个应用程序已经为你创建好了。
我的经验与此相反:以后迁移到伞式架构和项目结构要困难得多,而且您不会从伞式结构开始真正失去任何东西开始。
【参考方案1】:
归根结底,它们都是同一个东西。不同之处在于,Phoenix 已经生成了一个包含两个应用程序的保护伞,一个用于您的域,另一个用于 Web,如果您运行 mix new
,则必须手动组装所有内容。因此,如果您正在构建 Web 应用程序,请使用 Phoenix,因为它可以让您在设置所有内容时抢占先机。
【讨论】:
以上是关于我啥时候应该生成混合伞和凤凰伞?的主要内容,如果未能解决你的问题,请参考以下文章