按照这个问题中关于如何使用当前项目的依赖项加载 iex 的建议,我能够以非常高效的方式使用 phoenix 框架依赖项。然而,必须为每件事情提供 Phoenix 项目的命名空间有点乏味。
而不是打字MyApp.Repo.all(MyApp.User)
,我希望能够做到Repo.all(User)
。我可以单独为每件事起别名,alias MyApp.Repo, as: Repo
但有没有办法一次为所有事情做这件事?
按照这个问题中关于如何使用当前项目的依赖项加载 iex 的建议,我能够以非常高效的方式使用 phoenix 框架依赖项。然而,必须为每件事情提供 Phoenix 项目的命名空间有点乏味。
而不是打字MyApp.Repo.all(MyApp.User)
,我希望能够做到Repo.all(User)
。我可以单独为每件事起别名,alias MyApp.Repo, as: Repo
但有没有办法一次为所有事情做这件事?
你可以简单地调用alias MyApp.Repo
而不是MyApp.Repo, as: Repo
——它将使用模块名称的最后一部分。
在 Elixir 1.2 中,您可以通过一次调用将多个子模块别名为它们自己的名称:alias MyApp.{Repo, User}
您还可以选择一个.iex.exs
文件来设置别名(根据IEx 文档)。在这种情况下,我不推荐它,因为您冒着命名冲突的风险。alias
在 iex 会话中调用更加明确。