14

Phoenix アプリケーションでカスタム フォントを使用しようとしています。それらをpriv/static/fontsディレクトリに配置し、テンプレートにcssファイルを適切に作成してロードしましweb/templates/layout/app.html.eexたが、Phoenixサーバーによって提供されていません。

/Users/Psycho/code/elixir/my_app/
▾ priv/
  ▸ repo/
  ▾ static/
    ▸ css/
    ▾ fonts/
      ▾ walsheim/
          gt-walsheim-light-web.svg
          gt-walsheim-light-web.eot
          gt-walsheim-light-web.ttf
          gt-walsheim-light-web.woff

フォントを取得するための css ファイル:

// my_app/priv/css/fonts.css

@font-face {
    font-family: "Walsheim";
    font-style: normal;
    font-weight: 300;
    src:
        url("/fonts/walsheim/gt-walsheim-light-web.eot?#iefix") format("embedded-opentype"),
        url("/fonts/walsheim/gt-walsheim-light-web.woff") format("woff"),
        url("/fonts/walsheim/gt-walsheim-light-web.ttf") format("truetype"),
        url("/fonts/walsheim/gt-walsheim-light-web.svg#Walsheim") format("svg");
}
4

1 に答える 1

22

さて、解決策を見つけました。

phoenix静的ファイルを提供するディレクトリを指定する必要があるようです。私は自分のmy_app/lib/my_app/endpoint.exファイルにアクセスし、フォルダもPlug.Static提供するようにプラグを更新しました。fonts

defmodule MyApp.Endpoint do
  use Phoenix.Endpoint, otp_app: :my_app

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

  # Other Stuff ...
end

出典: PhoenixTalk - デフォルト以外のサブフォルダーで静的アセットを提供する

于 2015-07-12T01:45:30.660 に答える