2017-06-23 3 views
3

Von Elixir documentation:Elixir Mix-Datei -: Anwendungen vs: extra_applications - wann welche verwenden?

:applications - alle Anwendungen Ihre Anwendung hängt zur Laufzeit auf. Standardmäßig wird diese Liste automatisch aus Ihren Abhängigkeiten abgeleitet. Jede zusätzliche Erlang/Elixir-Abhängigkeit muss in :extra_applications angegeben werden. Mix und andere Tools verwenden die Anwendungsliste, um Ihre Abhängigkeiten zu starten, bevor Sie die Anwendung selbst starten.

:extra_applications - eine Liste von Erlang/Elixir-Anwendungen, die vor der Anwendung gestartet werden sollen. Zum Beispiel Elixirs :logger oder Erlangs :crypto.

Wenn die Liste für :applications automatisch geschlossen wird, dann, was sind einige Beispielszenarien, wenn wir eine Anwendung :applications statt :extra_applications hinzufügen sollten? und umgekehrt?

Antwort

7

Wenn Sie applications verwenden, werden keine Rückschlüsse gezogen und extra_applications werden nicht berücksichtigt. Wenn applications nicht vorgesehen sind, werden sie zu so etwas wie dieses Set:

applications_inferred_from_deps ++ extra_applications 

Sie ein verwenden oder das andere, aber beide nie.

+0

Danke für Ihre Antwort! Können Sie sich irgendein Szenario vorstellen, in dem wir '' Anwendungen'' statt '' Extra_Anwendungen' + 'Deps' verwenden möchten? Es scheint mir '' Anwendungen' 'überflüssig zu sein. –

+0

Es ist eine ältere Schnittstelle. 'extra_applications' eine Inferenz wurde nur in Elixir 1.4 eingeführt, der' applications' Schlüssel existiert aus Kompatibilitätsgründen. – michalmuskala

+0

Es macht jetzt Sinn :) –

Verwandte Themen