2012-01-25 14 views
5

संसाधन प्लगइन सीखने की कोशिश कर रहे हैंGrails संसाधन प्लगइन, मॉड्यूल और <r:img>?

मेरी समझ से, यह 'संसाधन' जैसे सीएसएस और जावास्क्रिप्ट फ़ाइलों को परिभाषित करने में मदद करता है और आवश्यकता होने पर स्वचालित रूप से उन्हें आपके जीएसपी में खींचता है। मैं समझता हूँ कि मॉड्यूल है कि तब टैग आदि का प्रयोग करने में लोड किया जा सकता बनाने के लिए कैसे

हिस्सा im समझ नहीं यह है: इस प्रकार http://grails-plugins.github.com/grails-resources/guide/4.%20Using%20resources.html#4.2%20Linking%20to%20images

तो Ive एक मॉड्यूल Config.groovy में 'छवियों' नामक बनाया:

grails.resources.modules = { 
    images { 
     resource url:'/images/view.jpg', attrs:[width: 1280, height:720 , alt: 'my view'] 
     resource url:'/images/breakfast.jpg', attrs:[width: 1280, height:720, alt: 'breakfast'] 
    } 
} 
संसाधनों

शीर्ष अनुभाग में .gsp पेज में शामिल हैं इस प्रकार है:

<head> 
    <r:require modules="jquery-ui, blueprint"/> 
</head> 

मुझे पता संसाधनों सफलता कर दिया गया है cessfully सिर अनुभाग में जोड़ा क्योंकि जब मैं पृष्ठ स्रोत का निरीक्षण मैं उन्हें वहाँ देखें:

<link href="/ResourceTest/static/Aa7jV0N2qZjOz7TLZ9cl5cREIh2y5jJYV0ytn4nQg9r.jpg" rel="shortcut icon" width="1280" height="720" alt="my view" /> 
<link href="/ResourceTest/static/IpQBSjrYeLDdSUBGbP3jhf6Kkhvu1zV3XRtwWfKOIMn.jpg" rel="shortcut icon" width="1280" height="720" alt="breakfast" /> 

मेरा प्रश्न यह है: कैसे तो इस्तेमाल किया छवि संसाधन कर रहे हैं? मेरा मतलब है कि मुझे पता है कि यह जावास्क्रिप्ट था, संसाधन का आयात आपको एचटीएमएल कोड में कार्यों का उपयोग करने के लिए उपयोग करता है, लेकिन छवियों के संबंध में, साइट कहती है "एक बार जब आप इसे कर लेंगे, तो उन्हें संदर्भित करने के लिए स्वचालित रूप से सेट किया जाएगा चौड़ाई, ऊंचाई और अन्य विशेषताओं। "

कैसे?

<r:img module="images"> 
<r:img alt="breakfast"> 

और कोई सफलता

क्या करता है काम है के साथ अन्य लोगों के एक मुट्ठी भर:

<r:img uri="/images/breakfast.jpg"> 

लेकिन यह क्या है या नहीं आप मॉड्यूल जोड़ने की परवाह किए बिना काम करता है मैं निम्नलिखित की कोशिश की है आर के साथ: टैग की आवश्यकता है .. तो छवियों के लिए इस प्लगइन का उपयोग करने का क्या मतलब है और मैं इसका उपयोग कैसे करूं?

+1

क्या आप संसाधन प्रविष्टि से चौड़ाई और ऊंचाई जोड़ते हैं जब आप '' करते हैं? कम से कम यह दस्तावेज़ों में यह कहता है ... –

+0

यदि यह सब कुछ करता है - तो मुझे लगता है कि यह अच्छा लगता है .. जब मैंने टैग्स पर टिप्पणी की तो मैंने कोई फर्क नहीं पड़ता .. इसलिए मुझे लगता है कि –

+0

मैं अनुमान लगा रहा हूं उत्पादन मोड में कैशिंग, जीजीआईपी आदि जैसे सामानों की सहायता/प्रक्रियाओं को मदद करता है –

उत्तर

0

<r:img> टैग <r:require> के बिना हमारे साथ ठीक काम करता है; it even works with undeclared image resources

संसाधन टैग डुप्लिकेशंस को रोकने के लिए आवश्यक टैग का बिंदु है। इसलिए, उदाहरण के लिए, मान लीजिए कि आपके पास एकाधिक जावास्क्रिप्ट संसाधन हैं जो jQuery पर भरोसा करते हैं, और वे सभी आवश्यक हैं। जटिलता की एक और परत जोड़ें: कहें कि आप वास्तव में साइटमैश के माध्यम से विभिन्न जीएसपी टेम्पलेट्स को एक साथ खींच रहे हैं, और उनमें से प्रत्येक की अपनी संसाधन निर्भरता है। यदि आप प्रत्येक जीएसपी लेआउट के सिर में उन संसाधनों को संदर्भित करने के लिए सामान्य HTML कोड डालते हैं, तो आपको अपने पृष्ठ शीर्षलेख में उनमें से कई उदाहरण मिल सकते हैं, जो समस्याग्रस्त साबित हो सकते हैं। संसाधन प्लगइन का उपयोग करना सुनिश्चित करता है कि आपको केवल आवश्यक संसाधन का एक उदाहरण प्राप्त हो।

http://grails-plugins.github.io/grails-resources/ref/Tags/require.html और http://grails-plugins.github.io/grails-resources/ref/Tags/layoutResources.html देखें।

छवियों के साथ, हालांकि, यह वास्तव में आवश्यक नहीं है। यदि आपके पास किसी पृष्ठ पर एक से अधिक बार एक छवि है, तो शायद यह इसलिए है क्योंकि आप इसे चाहते थे, या क्योंकि आप अनावश्यक लेआउट लागू कर रहे हैं और थोड़ा सा रिफैक्टर करने की आवश्यकता है। तो, आप सही हैं कि आवश्यकता टैग वास्तव में <r:img> के माध्यम से बुलाए गए चित्रों के लिए बहुत कुछ नहीं करता है। यह केवल इसलिए है क्योंकि छवियां संसाधनों का एक अलग प्रकार है, इसलिए उनका अलग-अलग व्यवहार किया जाता है। इसे पसीना मत करो।:)

संबंधित मुद्दे