Phoenix: assetsの圧縮

static assetsの事前圧縮

mix phx.digest を使うことでgzファイルを作成することができます。

# 何も指定しな場合、priv/staticが圧縮されます。
$ mix phx.digest

# ディレクトリを指定する場合はターゲットディレクトリと出力先を指定します。
$ mix phx.digest priv/notes -o priv/notes

注釈

gzファイルを配信するには、 Plug.Static のoptsであるgzipをtrueとする必要があります。

動的な圧縮

配信時にサーバーに圧縮させるにはEndpointのhttp(s)設定でcompressをtrueとします。

config :app_name, AppNameWeb.Endpoint,
  http: [port: 4000, compress: true]

本設定の説明はEndpointの Adapter configuration リンク先である Plug.Cowboy にあります。

Cowboy will attempt to compress the response body. Defaults to false.