Sök…


Skapa en anpassad mixuppgift

# lib/mix/tasks/mytask.ex
defmodule Mix.Tasks.MyTask do
  use Mix.Task

  @shortdoc "A simple mix task"
  def run(_) do
    IO.puts "YO!"
  end
end

Kompilera och köra:

$ mix compile
$ mix my_task
"YO!"

Anpassad mixuppgift med kommandoradsargument

I en grundläggande implementering måste uppgiftsmodulen definiera en run/1 funktion som tar en lista med argument. Exempelvis def run(args) do ... end

defmodule Mix.Tasks.Example_Task do
  use Mix.Task

  @shortdoc "Example_Task prints hello + its arguments"
  def run(args) do
    IO.puts "Hello #{args}"
  end
end

Kompilera och köra:

$ mix example_task world
"hello world"

alias

Med Elixir kan du lägga till alias för dina mixkommandon. Cool sak om du vill spara dig själv att skriva.

Öppna mix.exs i ditt Elixir-projekt.

Lägg först aliases/0 funktion till sökordslistan som project returnerar. Att lägga till () i slutet av aliasfunktionen förhindrar kompilatorn från att kasta en varning.

  def project do
    [app: :my_app,
     ...
     aliases: aliases()]
  end

Definiera sedan din aliases/0 funktion (t.ex. längst ner i filen mix.exs ).

  ...

  defp aliases do
    [go: "phoenix.server",
     trident: "do deps.get, compile, go"]
  end

Du kan nu använda $ mix go att köra din Phoenix-server (om du kör ett Phoenix- program). Och använd $ mix trident att berätta för mix att hämta alla beroenden, kompilera och köra servern.

Få hjälp med tillgängliga mixuppgifter

För att lista tillgängliga mixuppgifter använder du:

mix help

För att få hjälp med en specifik uppgift, använd mix help task t.ex.:

mix help cmd


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow