LoginSignup
0
0

More than 1 year has passed since last update.

Play Frameworkで画面表示が遅い原因と対処

Posted at

はじめに

※別のブログに投稿していた記事をQiitaに投稿し直しています。(元の記事は削除予定)

環境

Play Framework 2.2.6
macOS Big Sur 11.5.2

現象

Play Frameworkのアプリをローカルで起動すると、画面表示が遅い。
Chromeで確認したところ、Cache-Controlの値がローカル環境と本番環境とで異なる。

  • ローカル環境

「Cache-Control: no-cache」になっている。

image.png

  • 本番環境

「Cache-Control: max-age=3600」になっている。

image.png

原因

アプリ内ではキャッシュに関する実装は無いので、Play Frameworkのソースを調査したところ、
Assets.scalaにキャッシュに関する実装がある。

Play.configuration.getString("\"assets.cache." + resourceName + "\"").getOrElse(Play.mode match {
  case Mode.Prod => Play.configuration.getString("assets.defaultCache").getOrElse("max-age=3600")
  case _ => "no-cache"
})

本番だとキャッシュが有効になり、本番以外はno-cacheになる模様。

対処

本番モードかどうかは、Playの起動コマンドで切り替えられるため、startコマンドに変更。
ただし、startコマンドだとVSCodeなどからリモートデバッグできない点は注意。

本番モード:startコマンド

開発モード:runコマンド

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0