扩展模块的首选代码/目录结构是什么?

时间:2019-07-03 22:44:58

标签: phoenix-framework

Phoenix中的Rails /lib目录等效于什么?以及在那里应该如何组织代码?

2 个答案:

答案 0 :(得分:0)

代码的结构应与其他任何Elixir应用程序一样。

摘自Phoenix Framework文档Adding Page部分。

  

我们的lib / hello_web目录包含与Web相关的文件-路由器,控制器,模板,通道等。我们更大的Elixir应用程序的其余部分位于lib / hello中,并且您在这里构造代码的方式与其他任何Elixir应用程序一样。

答案 1 :(得分:0)

来自What goes in Rails lib/

  

生成的Rails README声明:

     

lib-特定于应用程序的库。基本上,任何形式的习惯   不属于控制器,模型或助手的代码。这个   目录在加载路径中。

     

Rails指南说:

     

app/包含控制器,模型,视图,助手,邮件和   用于您的应用程序的资产。

     

lib/您的应用程序的扩展模块。

     

换句话说,app/是   用于“配置Rails”,lib/是甚至有意义的代码   如果您的应用程序已移植到控制台或Android应用程序   实例。

凤凰城中的等效目录为:your_app/lib/your_app

  

以及在那里应该如何组织代码?

在混合项目的/lib目录中定义的所有模块都可以在项目中的任何其他文件中以ModuleName.func_name()的形式使用。 Phoenix in Action将应用程序的公共界面放在your_app/lib/your_app.ex中,其余文件放在目录your_app/lib/your_app/中。