kokolegorille
Hello everyone,
I am trying to implement live reload on a static page, for an API.
I build the project with --no-html --no-webpack, and added a bucklescript pipeline instead.
There is only one page, a static index.html, located in priv/static. I render with the following action
def index(conn, _params) do
conn
|> put_resp_header("content-type", "text/html; charset=utf-8")
|> IO.inspect()
|> send_file(200, "priv/static/index.html")
end
I added phoenix-live-reload, configured the api to use it… and now code is reloading when frontend files change. I can see bsb and webpack reloading in the background.
I have configured my Endpoint with live/code reload, and I can see in my connection when in development.
before_send: [#Function<1.112466771/1 in Plug.Logger.call/2>,
#Function<0.66982185/1 in Phoenix.LiveReloader.before_send_inject_reloader/2>],
But as it is an api only, there is no phoenix_html, I need to inject the live reload iframe manually into the static index.html.
Can somebody point me where (and when) Phoenix inject the live reload iframe? I find it hard to find in the source code.
Thanks for taking time
Trending in Questions
Other Trending Topics
Latest Phoenix Threads
Latest on Elixir Forum
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #ai
- #elixirconf-us
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
dom
Here:
https://github.com/phoenixframework/phoenix_live_reload/blob/master/lib/phoenix_live_reload/live_reloader.ex
kokolegorille
Thank You for the response, but I read this and configured accordingly…
It does set the before_send in my connection correctly.
But I would like to know where this function is applied in reality (the plug just add a function in the before_send). As it is a static file, not an eex template, I will need to inject manually.
kokolegorille
The code is in the live_reloader, as said by @dom, in the private functions…
At the very end, we can find
The solution is dead simple (once You get how it works), Not even the need to parse the static file, just render with.
The html helper will take care of this. Sorry for the question…
Now I have a slim api, with live reload enable on the static file.