[英]How do I use a module defined in lib/ folder of Phoenix project?
我在lib/
创建了一个 Module ,更具体地说是lib/my_namespace/test_module.exs
。
这是其中定义的全部内容:
defmodule MyNamespace.TestModule do
def test do
"This is a test"
end
end
在 Phoenix 控制器中调用此模块的test()
函数会呈现错误。
** (UndefinedFunctionError) function MyNamespace.TestModule.test/0 is undefined (module MyNamespace.TestModule is not available)
MyNamespace.TestModule.test()
根据Elixir 1.2.0 Changelog ,我的理解是 Elixir 旨在重新加载lib/
目录中的代码,所以我假设我不需要做任何其他事情。
我显然错了,我自己的研究没有产生任何有希望的结果。 我唯一收集到的是我的模块没有进入?loadpath? 而且我不确定要更改什么,所以它在加载路径上。
有人可以伸出援手并指出我应该阅读哪些文档的方向吗?
提前致谢。
.exs
文件用于编写脚本,不会与项目的其余部分mix
编译为字节码。 如果您希望能够从应用程序访问其中定义的模块,您应该将lib/my_namespace/test_module.exs
重命名为lib/my_namespace/test_module.ex
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.