Phoenix v1.1.3 Phoenix.CodeReloader
A plug and module to handle automatic code reloading.
For each request, Phoenix checks if any of the modules previously
compiled requires recompilation via __phoenix_recompile__?/0
and then
calls mix compile
for sources exclusive to the web
directory.
To avoid race conditions, all code reloads are funneled through a sequential call operation.
Summary
Functions
API used by Plug to invoke the code reloader on every request
API used by Plug to start the code reloader
Reloads code within the paths specified in the :reloadable_paths
config for the endpoint by invoking the :reloadable_compilers
Functions
Specs
reload!(module) :: :ok | :noop | {:error, binary}
Reloads code within the paths specified in the :reloadable_paths
config for the endpoint by invoking the :reloadable_compilers
.
This is configured in your application environment like:
config :your_app, YourApp.Endpoint,
reloadable_paths: ["web"],
reloadable_compilers: [:gettext, :phoenix, :elixir]
Keep in mind that the paths passed to :reloadable_paths
must be
a subset of the paths specified in the :elixirc_paths
option of
project/0
in mix.exs
while :reloadable_compilers
is a subset
of :compilers
.