Suche…


Erstellen Sie eine benutzerdefinierte Mix-Aufgabe

# 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

Kompilieren und ausführen:

$ mix compile
$ mix my_task
"YO!"

Benutzerdefinierte Mischaufgabe mit Befehlszeilenargumenten

In einer Basisimplementierung muss das Taskmodul eine run/1 Funktion definieren, die eine Liste von Argumenten verwendet. ZB 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

Kompilieren und ausführen:

$ mix example_task world
"hello world"

Aliase

Mit Elixir können Sie Aliase für Ihre Mischbefehle hinzufügen. Coole Sache, wenn Sie sich etwas Tipparbeit sparen wollen.

Öffnen Sie mix.exs in Ihrem Elixir-Projekt.

aliases/0 zunächst der Keyword-Liste, die die project zurückgibt, eine aliases/0 Funktion hinzu. Durch das Hinzufügen von () am Ende der Aliase-Funktion wird verhindert, dass der Compiler eine Warnung auslöst.

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

Definieren Sie dann Ihre aliases/0 Funktion (z. B. am Ende Ihrer mix.exs Datei).

  ...

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

Sie können jetzt $ mix go , um Ihren Phoenix-Server auszuführen (wenn Sie eine Phoenix- Anwendung ausführen). Verwenden Sie $ mix trident , um mix mitzuteilen, dass alle Abhängigkeiten abgerufen, der Server kompiliert und ausgeführt wird.

Hilfe zu verfügbaren Mix-Aufgaben erhalten

Um verfügbare Mix-Aufgaben aufzulisten, verwenden Sie:

mix help

Um Hilfe zu einer bestimmten Aufgabe zu erhalten, verwenden Sie die mix help task z.

mix help cmd


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow