ड्रुपल की एकत्रित जावास्क्रिप्ट (स्वचालित रूप से) को छोटा करने का सबसे अच्छा तरीका क्या है?


10

मेरी नई बनाई गई ड्रुपल 6 साइट पर अभी Google पेजपेड चलाएं , और यह रिपोर्ट करता है:

Minifying the following JavaScript resources could reduce their size by 15.6KiB (12% reduction).

    Minifying http://[sites]/sites/default/files/js/js_9f19b87ffb72ca233ea7e45dda2f20f9.js could save 15.3KiB (18% reduction). See optimized version or Save as.

उपरोक्त फ़ाइल ड्रुपल के डिफ़ॉल्ट जावास्क्रिप्ट एकत्रीकरण विधि के माध्यम से उत्पन्न हुई थी, लेकिन जाहिर है कि यह 18% छोटा हो सकता है (जो इस साइट के लिए एक बड़ी बात है)। किसी भी मौजूदा कोड को तोड़ने के बिना एक drupal साइट पर जावास्क्रिप्ट को छोटा करने की बात आती है, तो किस दृष्टिकोण को सबसे अच्छा माना जाता है?


मुझे नहीं लगता कि यह वास्तव में एक Drupal का विशिष्ट प्रश्न है, यह जावास्क्रिप्ट के किसी भी मिनिमाइजेशन से संबंधित हो सकता है और इसलिए StackOverflow में बेहतर तरीके से पूछा जाएगा।
Decipher

4
ड्रुपल विशिष्ट हिस्सा यह होगा कि किसी भी समाधान को ड्रूपल के साथ एकीकृत करने और कोर जेएस एकत्रीकरण फ़ाइलों को कीमाधारित संस्करणों के साथ बदलने की आवश्यकता होगी। उम्मीद है कि यह स्पष्ट करने के लिए बदल शीर्षक
wiifm

जवाबों:


4

आप इस्तेमाल कर सकते हैं जावास्क्रिप्ट एग्रीगेटर मॉड्यूल या उस के लिए स्थापित PageSpeed (अपाचे मॉड्यूल, नहीं Firebug विस्तार) यदि आप अपाचे का उपयोग करें और अतिरिक्त लाभ के साथ एक्सटेंशन (उदाहरण के लिए नहीं एक साझा webhost), Drupal के स्वयं के एकत्रीकरण के साथ संयुक्त स्थापित कर सकते हैं, PageSpeed सीएसएस को भी छोटा कर सकता है।


वेब पेज के रूप में nginx का उपयोग करना, यह भी निश्चित नहीं है कि क्या Google पेजस्पीड अभी तक इसके साथ एकीकृत है
wiifm

आह वास्तव में, आप उस मामले में पेजस्पीड के मॉड्यूल से बेहतर हैं।
Wildpeaks

6

मैंने बहुत सारे एकत्रीकरण मुद्दे से निपटने के लिए एक नया मॉड्यूल बनाया और मुझे उम्मीद है कि इसका एक बड़ा हिस्सा डी 8 में मिलेगा; और हाँ यह एक डी 6 मॉड्यूल है: http://drupal.org/project/advagg । JS के संपीड़न के लिए jsmin + lib का उपयोग करता है और CSS संपीड़न के लिए CSSTidy का उपयोग करता है। इसका मुख्य लाभ यह है कि css / js एग्रीगेट फ़ाइल तब तक नाम नहीं बदलती, जब तक उसे ज़रूरत न हो; इन फ़ाइलों में 1 साल का कैश जीवनकाल भी होता है और इमेज कैश जनरेशन होती है इसलिए आपकी सीएसएस फाइल में 404 अतीत की बात होनी चाहिए।

अद्यतन: AdvAgg 7.x विकसित किया जा रहा है और एक वैकल्पिक उप मॉड्यूल के रूप में JS के संशोधन के साथ आता है। अन्य D7 विकल्प:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs


1
पृष्ठ पर विवरण से, मैं एक सूक्ष्म संकेत को समझ रहा हूं कि मुझे इस मॉड्यूल को स्थापित करना चाहिए: डी अच्छा काम, मैं इसे आज़माऊंगा।
Wildpeaks

1
हाँ, मैंने साइट के लिए इस मॉड्यूल की कोशिश की, एकमात्र मुद्दा यह था कि सीएसएस को इस तरह से छोटा किया गया कि साइट टूट गई। मैं इस बात से अनिश्चित था कि यह CSS मिनिफिकेशन इंजन या किसी खराब कोडेड CSS;) के कारण है, किसी भी स्थिति में, मैं केवल जेएस मिनिफिकेशन के बाद था, क्योंकि JS CSS से काफी बड़ा है। क्या सीएसएस मिनिफिकेशन को निष्क्रिय करने के लिए इस मॉड्यूल में विकल्प होगा? अच्छा काम BTW
wiifm

बस सीएसएस संपीड़न मॉड्यूल को अक्षम करें। यदि आप सोच रहे हैं तो यह CSSTidy लाइब्रेरी का उपयोग करता है।
mikeytown2

@ mikeytown2 ऐसे महान मॉड्यूल के लिए बहुत बहुत धन्यवाद। मुझे अपनी वेबसाइट में से एक के साथ कुछ समस्या है सीएसएस फ़ाइलों को कुछ समय में लोड नहीं किया गया सवाल यहाँ है [ drupal.stackexchange.com/questions/128649/… और वेबसाइट लिंक [ live.md/desi मैं भटक रहा था, मुझे सक्षम होने की आवश्यकता है Drupal Aggregate और CSS फाइलों को संक्षिप्त करें और JavaScript फ़ाइलों को अलग करें। प्रदर्शन के तहत। मैं किसी भी बुनियादी सेटिंग के लिए किसी भी लिंक मॉड्यूल के लिए कोई दस्तावेज नहीं मिल सकता है?
यम

2

आप ऐसा करने के लिए Minify मॉड्यूल का उपयोग कर सकते हैं । मॉड्यूल को छोटा करें Google कंपाइलर का उपयोग करके जावास्क्रिप्ट को छोटा करें। यह "एग्रिगेट जावास्क्रिप्ट फ़ाइलों" के साथ भी काम करता है ताकि आप कई जावास्क्रिप्ट फ़ाइलों के संयोजन का लाभ भी उठा सकें जो कि ड्रुपल 7 में डिफ़ॉल्ट विकल्प है।

छोटा मॉड्यूल भी HTML को छोटा करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.