elixir mix 自定义任务

elixir 的mix 比较灵活,同时也比较强大,很多时候我们可以自己定义一个任务,方便运行以及构建,不少
三方框架会提供一些方便的cli ,一般也会使用此方法比如ecto orm 框架,以下是一个简单的自定义task 学习

参考开发

  • 目录位置
    这个实际上都f放那里可以,只是有一个简单的约定,建议放到lib/mix/tasks 目录下
  • 任务开发
    一个简单的测试,dalong.ex
 
defmodule Mix.Tasks.Dalong do
  use Mix.Task
  # 定义一个帮助文档
  @moduledoc "simple mix task `mix help dalong`"
  @shortdoc "dalong mix task"
  # 实现run behaviour
  @impl true
  def run(args) do
    IO.inspect(args)
  end
 
end
  • 使用
mix  help dalong
mix dalong  "demoapp"

 

说明

自定义mix task 在不少框架中都有使用,自己开发一些自定义mix task 也比较简单,很多时候有利于项目开发(比如一些代码生成的场景)

参考资料

https://github.com/elixir-lang/elixir/blob/main/lib/mix/lib/mix/task.ex
https://hexdocs.pm/mix/1.12.3/Mix.Task.html

posted on   荣锋亮  阅读(13)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-01-04 dremio DatasetSaver 服务说明
2023-01-04 dremio datastore简单说明
2023-01-04 piperider 开源数据可靠性工具
2022-01-04 census 安全处理模式
2022-01-04 castled 简单原理说明
2021-01-04 goja 支持es6的一种方法
2021-01-04 salesforce 跨组织数据可见性的方案

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示