Phoenix.Router.NoRouteError для активов

В эликсире я пытаюсь создать проект под зонтиком с этой командой

mix phx.new my_project --umbrella

в каталоге приложений попробуйте установить проект Phoenix с этой командой

mix phx.new phx_project --no-ecto

и попробуйте добавить ресурсы с новой структурой в директорию активов и новый файл с bar.css и использовать его на внешнем интерфейсе с:

<%= Routes.static_path(@conn, "/ja/bee/foo/bar.css") %>

Я ничего не нашел.

но с этим

<%= Routes.static_path(@conn, "/css/app.css") %>

все нормально.

2 ответа

Решение

Я пытался поместить свои активы (JS, CSS, изображения) под assets каталог, но реальное место, это на самом деле под assets/static каталог. Лично я думаю, что это не очень хорошее место, почему? Потому что в assets каталог у нас есть каталоги, такие как каталог css, js.

В вашей endpoint.ex файл, у вас будет раздел, который выглядит примерно так

  plug Plug.Static,
    at: "/", from: :attendance_web, gzip: false,
    only: ~w(css fonts images js favicon.ico robots.txt)

Вам нужно будет добавить ja каталог к ​​списку в :only ключ. Затем убедитесь, что ваш ja каталог рядом с вашим css каталог.

Другие вопросы по тегам