立即使用Phoenix框架。开始时,我们没有使用--umbrella
选项来生成项目。因此,结构就像一个简单的伞式应用程序。
现在想要将项目更改为umbrella
方式。有可能吗?怎么做?
答案 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