5

Çok fazla statik içeriğe sahip yoğun bir trafik web sitem var. Şu anda Play 1.2.4 üzerinde ama Play 2.0.2'ye geçişi yapıyorum.CDN, Play 2.0 üzerinde kullanım alanı

Oynat 1.X için, html şablonlarının içinde @asset yerine kullandığımız bazı kodları yazdık.

/** 
* 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)) 
    } 
} 

Oyun 2.0 için bunu geliştirebileceğimizi düşünüyorum. Şablonlarımıza, Play 2.0 tarafından sağlanan @ Asset.at'ı kullanmak yerine özel kodumuzla çöpleştirmemiz daha iyi olur diye düşünüyorum. Bunu yapmanın en iyi yolu olduğundan emin değilim. Play 1.2.X Hosting static HTML in a Play! app on CloudFront 'da bu sorunun cevabında yapılan bir şey yapılıp yapılmadığını merak ediyorum, Play 2.0 için yapılabilir.

Play 2.0 tarafından sağlanan Varlıklar denetleyicisinden tam olarak yararlanmak istiyorum çünkü sahip olunması iyi olan birkaç optimizasyon gerçekleştiriyor.

Bunu yapmanın bir yolu bilen var mı? Biraz Router büyüsü ile yapılabileceğini düşünüyorum, bu ideal olurdu ama yine de Play ile oynamak için biraz yeni başlayan bir oyuncu ya da bunun nasıl mümkün olabileceğini biliyorum.

cevap

4

James Ward, temiz bir şekilde yapmak için excellent tutorial yazmıştır.

+0

Bu eğitici güzel görünüyor. Henüz kimsenin bunu bir eklentiye dönüştürmemiş olması çok çılgın. Bunu yapmayı düşünmeliyim. – myyk

+0

İyi fikir! Bu yararlı oldukça küçük bir eklenti olacak. – mchv

+0

Sadece üzerinde [çalışmaya başladı] (https://github.com/mchv/play2-cloudfront) var. James öğreticisinden esinlenilen küçük bir eklenti. Çalıştığı zaman size bildireceğim. – mchv

İlgili konular