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↑
call(conn, opts) | API used by Plug to invoke the code reloader on every request |
init(opts) | API used by Plug to start the code reloader |
reload!(endpoint) | Reloads code within the paths specified in the |
Functions
API used by Plug to invoke the code reloader on every request.
API used by Plug to start the code reloader.
Specs:
- reload!(module) :: :ok | :noop | {:error, binary}
Reloads code within the paths specified in the :reloadable_paths
config for the endpoint.
This is configured in your application environment like:
config :your_app, YourApp.Endpoint,
reloadable_paths: ["web"]
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.