簡體   English   中英

CDN在Play 2.0上使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM