elixr 本地模块引用

发布时间 2023-12-27 09:37:37作者: 荣锋亮

elixir 的mix 支持引用本地模块,以下是一个简单的学习

参考使用

  • 项目结构
├── app
├── README.md
├── lib
└── app.ex
├── mix.exs
└── test
├── app_test.exs
└── test_helper.exs
└── login
    ├── README.md
    ├── lib
    └── login.ex
    ├── mix.exs
    └── test
        ├── login_test.exs
        └── test_helper.exs
  • 代码说明
    上边包含了两个mix 项目,一个app 以及login,app 会通过本地依赖的模式使用login 模块提供的方法
    login是一个标准mix cli 创建的项目,核心主要说明关于app 的
    mix.exs 配置本地模块依赖
 
defmodule App.MixProject do
  use Mix.Project
 
  def project do
    [
      app: :app,
      version: "0.1.0",
      elixir: "~> 1.15",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end
 
  # Run "mix help compile.app" to learn about applications.
  def application do
    [
      extra_applications: [:logger]
    ]
  end
 
  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      {:login, path: "../login"}
    ]
  end
end

代码使用模块
app.ex

 
defmodule App do
  def demo do
   result =  Login.hello
   ~s"result: #{result}"
  end
end

效果

iex -S mix run

 

参考资料

https://hexdocs.pm/mix/1.16.0/Mix.html