是否有正确的方法来更改非伞项目以使用Phoenix框架的伞功能?

时间:2018-01-09 09:57:48

标签: phoenix-framework umbrella

立即使用Phoenix框架。开始时,我们没有使用--umbrella选项来生成项目。因此,结构就像一个简单的伞式应用程序。

现在想要将项目更改为umbrella方式。有可能吗?怎么做?

1 个答案:

答案 0 :(得分:2)

从凤凰1.3和灵药1.5:

在单独的目录中生成一个新的伞应用程序:

apps/

将您的凤凰应用程序移动到新伞状目录中的$ mv /path/to/my_app /path/to/my_umbrella/apps/ 目录:

project

您的构建路径,deps文件夹以及主配置和混合文件现在位于保护伞的根目录中。您需要在凤凰mix.exs的{​​{1}}函数中添加以下行,以指向正确的位置,如下所示:

# my_umbrella/apps/my_app/mix.exs

def project do
  [
    # ...

    build_path: "../../_build",
    config_path: "../../config/config.exs",
    deps_path: "../../deps",
    lockfile: "../../mix.lock",

    # ...
  ]
end

从保护伞的根目录中重新获取依赖关系。

$ mix deps.get

假设您正在使用早午餐,您还需要编辑phoenix app文件夹中的assets/package.json文件,以指向deps/的正确位置:

// my_umbrella/apps/my_app/assets/package.json
"phoenix": "file:../../../deps/phoenix",
"phoenix_html": "file:../../../deps/phoenix_html"

如果使用最新版本的package-lock.json,您可能需要刷新npm install文件以重新运行npm命令。

从伞的根部,你应该能够启动你的凤凰服务器。

$ mix phx.server