【问题标题】:Umbrella project with multiple apps containing front end logic.具有多个包含前端逻辑的应用程序的 Umbrella 项目。
【发布时间】:2017-07-31 20:03:10
【问题描述】:

我有 2 个具有共享功能/路由的应用程序。例如,在这两个应用程序中都有日记、目标跟踪、睡眠跟踪等,它们以相同的方式工作。每个应用程序还有特定的路线。在 AppA 中,用户可以跟踪自己的情绪,在 AppB 中,用户可以查看医生的笔记。

有没有办法拥有一个包含在/apps 中的通用应用、AppA 和 AppB 的总括项目?每个应用程序都有自己的路由器/控制器/模板等。AppA 和 AppB 都需要 GenericApp 作为依赖项。到目前为止,我只看到一个包含前端逻辑(Web)的应用程序的伞式项目,其他应用程序是包含在其中的库。这如何与跨多个应用程序的路由一起工作?我可以采取其他方法吗?

我在搜索中找到了this question & answer,但这并不是我想要的。它似乎遵循一个前端应用程序的模式,包括在其他库中。

【问题讨论】:

    标签: elixir phoenix-framework umbrella


    【解决方案1】:

    是的,您当然可以将“通用”路由拆分为单独的伞形应用程序,并将 forwardAppAAppB 拆分到它。

    使用Phoenix.Router.forward/4 函数将来自AppAAppB 的请求转发到共享代码。

    例如,exq_ui 可以这样合并到更大的应用程序中:

      pipeline :exq do
        plug :accepts, ["html"]
        plug :fetch_session
        plug :fetch_flash
        plug :put_secure_browser_headers
        plug ExqUi.RouterPlug, namespace: "exq"
      end
    
      scope "/exq", ExqUi do
        pipe_through :exq
        forward "/", RouterPlug.Router, :index
      end
    

    【讨论】:

      猜你喜欢
      • 2015-07-09
      • 2010-10-23
      • 2017-12-14
      • 2019-03-18
      • 1970-01-01
      • 2021-02-18
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多