2015-06-06 10 views
56

Wie kann eine Elixir-Anwendung korrekt ausgeführt werden?Wie wird die Elixir-Anwendung ausgeführt?

Ich erstelle ein einfaches Projekt von:

mix new app 

und danach ich tun kann:

mix run 

die im Grunde einmal meine Anwendung kompiliert. Also, wenn ich hinzufügen:

IO.puts "running" 

in lib/app.ex Ich sehe "running" nur zum ersten Mal, jedes Mal in Folge run tut nichts, es sei denn, es einige Änderungen gibt. Was kann ich als nächstes mit generierten app.app tun?

Natürlich weiß ich, was ich tun kann:

escript: [main_module: App] 

in mix.exs bieten def main(args): und dann:

mix escript.build 
./app 

aber es ist meiner Meinung nach ein bisschen umständlich ist.

Es gibt auch so etwas wie:

elixir lib/app.exs 

aber nicht mix.exs offensichtlich nicht zählt, was für Abhängigkeiten in meinem app benötigt wird.

+0

Falls Sie ein Elixir Skript (a '.exs'-Datei) ausgeführt werden soll, sondern tun dies im Rahmen Ihrer Mischung App können Sie' Mix Lauf

6

Sie können Tasks ausführen, indem Sie Mix.Task in Ihr Modul statt mix run importieren.

Ich denke, this ist das, was Sie suchen.

Obendrein können Sie statt mix <task.run> einfach mix ausführen, um die Standardaufgabe auszuführen. Einfach default_task: "bot.run" in die Liste der def project do [..] end in mix.exs hinzuzufügen. Siehe here.

Verwandte Themen