Deprecated: use https://hex.pm/packages/asset_import package instead.
Helps to manage view specific assets in phoenix project. Uses automatic code splitting to avoid over-fetching or downloading assets twice, if they are used in multiple views. Also supports phoenix live reload.
Add phoenix_view_assets
to your list of dependencies in mix.exs
:
def deps do
[
{:phoenix_view_assets, "~> 0.1"}
]
end
Use (or merge) example_assets
for assets/
in your project.
- Create module
MyAppWeb.Assets
:
defmodule MyAppWeb.Assets do
use PhoenixViewAssets
end
- Use
MyAppWeb.Assets
in your layout view to generatescripts
andstyles
functions in compile time.
defmodule MyAppWeb.LayoutView do
use MyAppWeb, :view
use MyAppWeb.Assets
end
- Use
styles
andscripts
functions generated byMyAppWeb.Assets
to add assets to your layout:
<head>
...
<%= for path <- styles(@conn) do %>
<link rel="stylesheet" href="<%= path %>" />
<% end %>
</head>
<body>
...
<%= for path <- scripts(@conn) do %>
<script type="text/javascript" src="<%= path %>"></script>
<% end %>
</body>