[英]CDN usages on Play 2.0
我有一個擁有大量靜態內容的高流量網站。 它目前在Play 1.2.4上,但我正在遷移到Play 2.0.2。
對於Play 1.X,我們編寫了一些代碼,而不是html模板中的@asset。
/**
* Drop-in replacement for @asset. Use to take advantage of cloudfront on live.
* Paths are always absolute to root. Leading '/' is optional.
*
* @param path relative to the application root. This should usually be "public/some-file"
* @return path to asset on the currently configured CDN.
*/
def cdnAsset(path: String) : String = {
cdnEnabled match {
case "true" =>
path(0) match {
case '/' => "https://" + cdnUrl + path
case _ => "https://" + cdnUrl + "/" + path
}
case _ =>
play.mvc.Router.reverse(play.Play.getVirtualFile(path))
}
}
對於Play 2.0,我認為我們可以改進這一點。 我認為如果我們不必使用我們的自定義代碼而不是使用Play 2.0提供的@ Asset.at來丟棄我們的模板會更好。 我不確定最好的方法。 我想知道是否做了類似的事情在Play 1.2.X中回答這個問題的答案在播放中托管靜態HTML! CloudFront上的應用程序可以為Play 2.0完成。
我想充分利用Play 2.0提供的Assets控制器,因為它執行了一些很好的優化。
有誰知道這樣做的方法? 我正在考慮是否可以用一些路由器魔法來完成,這將是理想的但我仍然有點太初學的Play來知道是否或如何可能。
詹姆斯沃德已經寫了一個很好的教程 ,干凈利落地完成它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.