我如何在凤凰城的“/ lib”文件夹中访问它?

时间:2016-08-09 06:17:03

标签: elixir phoenix-framework

说,我在我的凤凰应用程序中的“lib”文件夹中创建了一个模块。如何从控制器访问它,我是否必须先加载它?或者只是别名?或者首先加载启动然后加载别名?

1 个答案:

答案 0 :(得分:2)

每当您执行.ex .exs时,lib中所有.beam(非mix compile)文件中的所有模块都会被编译为_build/dev/lib/my_app/ebin个文件其中dev是混合环境,my_app是应用程序的名称。每当您尝试在尚未加载的模块上调用函数时,Erlang VM都会在所有"代码加载路径中搜索相应的.beam文件。 (已经包含_build/dev/lib/my_app/ebin),如果找到,则在执行函数之前加载它。如果找不到,则会出现模块不可用的错误。

所以,你不必加载它。如果需要,只需调用该函数和可选的别名。