【问题标题】: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 那么这两个应用程序已经为你创建好了。
  • 我的经验与此相反:以后迁移到伞式架构和项目结构要困难得多,而且您不会从伞式结构开始真正失去任何东西开始。

标签: elixir phoenix-framework elixir-mix umbrella


【解决方案1】:

归根结底,它们都是同一个东西。不同之处在于,Phoenix 已经生成了一个包含两个应用程序的保护伞,一个用于您的域,另一个用于 Web,如果您运行 mix new,则必须手动组装所有内容。因此,如果您正在构建 Web 应用程序,请使用 Phoenix,因为它可以让您在设置所有内容时抢占先机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-01
    • 2022-01-24
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多