0

開発モードではアセットをローカルで提供したいと考えており、本番環境にデプロイするときは CDN から提供したいと考えています。play2 を使用し、CDN からコンテンツを提供している人は、どのようにそれを行っているかを喜んで共有しますか?

// Thinking of something like this in the routes file...
@if(play.Play.isDev()) {
    GET     /assets/*file               controllers.Assets.at(path="/public", file)
} else {
    GET     CDNPATH/assets/*file        controllers.Assets.at(path="CDNPATH", file)
}

(注: ヘッダー修正のため 2.0.2 を使用https://github.com/playframework/Play20/pull/276 )

4

2 に答える 2

1

私がしたことは、コンピューターの「hosts」ファイルを編集して、CDN ドメインをローカルで指すようにするだけでした。

于 2012-07-04T20:55:00.973 に答える
0

似たようなことを探している人のために、誰かが play を使用して cdn からコンテンツを提供する方法を正確に説明しているこのリンクを見つけました: http://www.jamesward.com/2012/08/08/edge-caching-with-play2-heroku -クラウドフロント

これが別のオプションです。これは、ローカルシステムに application.cdn="" を持たせるために最終的に使用した関数であり、本番環境では実際の価値があります。バージョンを変更してキャッシュを無効にすることもできます。

_assets.scala.html

@(path: String)@Html((""""%s%s?v=%s"""").format(
play.api.Play.current.configuration.getString("application.cdn").get,
routes.Assets.at(path), 
play.api.Play.current.configuration.getString("application.version").get ))

使用する

@_asset("stylesheets/css.min.css")

于 2012-07-08T05:08:49.003 に答える