5

पर उपयोग करता है मेरे पास बहुत सारी स्थिर सामग्री के साथ एक उच्च यातायात वेबसाइट है। यह वर्तमान में Play 1.2.4 पर है लेकिन मैं Play 2.0.2 पर माइग्रेशन कर रहा हूं।सीडीएन प्ले 2.0

प्ले 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 Hosting static HTML in a Play! app on CloudFront Play 2.0 के लिए किया जा सकता है।

मैं Play 2.0 द्वारा प्रदान किए गए संपत्ति नियंत्रक का पूर्ण लाभ लेना चाहता हूं क्योंकि यह कुछ अनुकूलन करता है जो अच्छा होगा।

क्या कोई इसे करने का तरीका जानता है? मैं सोच रहा हूं कि यह कुछ राउटर जादू के साथ किया जा सकता है, यह आदर्श होगा लेकिन मैं अभी भी यह जानना चाहता हूं कि यह कितना संभव है या नहीं।

उत्तर

4

जेम्स वार्ड ने इसे साफ करने के लिए excellent tutorial लिखा है।

+0

यह ट्यूटोरियल अच्छा दिखता है। यह बहुत पागल है कि किसी ने इसे अभी तक प्लगइन में नहीं बनाया है। मुझे ऐसा करने पर विचार करना होगा। – myyk

+0

अच्छा विचार! यह एक उपयोगी काफी छोटी प्लगइन होगी। – mchv

+0

मेरे पास अभी [काम करना शुरू हुआ] (https://github.com/mchv/play2-cloudfront) पर है। जेम्स ट्यूटोरियल से प्रेरित एक छोटा प्लग-इन। जब यह परिचालन होगा तो मैं आपको बता दूंगा। – mchv