मुझे जावास्क्रिप्ट फ़ाइलों के संयोजन के लिए sprockets के बारे में पता है , लेकिन यह कोशिश नहीं की है। कुछ अन्य विकल्प क्या हैं और वे कैसे स्टैक करते हैं?
मुझे जावास्क्रिप्ट फ़ाइलों के संयोजन के लिए sprockets के बारे में पता है , लेकिन यह कोशिश नहीं की है। कुछ अन्य विकल्प क्या हैं और वे कैसे स्टैक करते हैं?
जवाबों:
मैंने Asp.Net के लिए एक हैंडलर लिखा जो YUI का उपयोग संपीड़ित, संक्षिप्त, और आउटपुट को कैश करता है।
यहाँ स्रोत है: http://gist.github.com/130913
मैं इस मुद्दे को पहले ही एक अन्य प्रश्न में संबोधित कर चुका हूं
दृष्टिबाधितों में, मुझे इसे प्रोग्रामर साइट के बजाय वेबमास्टर्स पर पूछना चाहिए था।
आपके पास 3 विकल्प हैं:
विकल्प 1 (एक CakePHP एक्सटेंशन का उपयोग करके):
अपनी साइट में AssetPacker को डाउनलोड करें और इंस्टॉल करें (जिसमें jsmin और CSSTidy भी आवश्यक है)। स्रोत की कुछ पंक्तियों को संशोधित करें जिसमें js फाइलें शामिल हैं। धोने> Rinse-> दोहराएँ। वोइला, बाकी सब अपने आप हो जाता है।
यदि आप कुछ अन्य ढांचे का उपयोग करते हैं, तो संभावना है, एक उपकरण है जो आपके लिए इसे पूरा करेगा। यह वेबदेव की दुनिया में एक बहुत ही आम आवश्यकता है।
विकल्प 2 (एक अपाचे मॉड का उपयोग करके):
Apache के लिए Google Pagespeed मॉड पर एक नज़र डालें । यह सब कुछ आप का वर्णन करता है और एक पूरी बहुत अधिक है।
हालांकि अपने उत्पादन सर्वर के संसाधनों की निगरानी करना सुनिश्चित करें। कुछ लोग उन मुद्दों को देख रहे हैं जहां यह अपने सर्वर पर खराब तरीके से लोड बढ़ाता है। मैं सकारात्मक नहीं हूं, लेकिन प्रभावी विकल्प के लिए पर्याप्त स्थिर सामग्री रणनीति की आवश्यकता हो सकती है।
विकल्प 3:
यदि आप वास्तव में चाहते हैं, तो आप कुछ PHP जादू बना सकते हैं जो जेएस फाइल सर्वर साइड को समेटते हैं और सभी लिंक रिले को एक में जोड़ते हैं लेकिन ... ठीक यही दो रणनीति पहले से ही कर रहे हैं।
व्यक्तिगत रूप से, मैं इस विकल्प के खिलाफ दृढ़ता से सलाह दूंगा।
जहां तक मुझे पता है कि Sprockets JS फाइल को AssetPacker के समान बनाती है, तो इसे सिर्फ Ruby Gem के रूप में लागू किया जाता है। जेएस कोड को छोटा नहीं करता है। इसलिए, यदि आप इसका उपयोग करते हैं, तो शायद यह एक अच्छा विचार है कि जैन रत्न को भी हड़प लें। CakePHP में Sprockets + JSMin का उपयोग करने के तरीके के बारे में जानकारी के लिए इसे देखें ।
मुझे पता है कि मैं CakePHP पर जोर देता हूं, लेकिन ... मैं मान रहा हूं कि, अगर एक प्लगइन CakePHP के लिए अनुकूलित किया जा सकता है, तो इसे एक अलग ढांचे में भी अनुकूलित करने के लिए तुच्छ होना चाहिए।
एक त्वरित Google खोज सीएसएस फ़ाइलों को संयोजित करने के लिए इसे ढूंढती है: http://www.tothepc.com/archives/combine-merge-multiple-css-files/
क्या आप वाकई उन्हें संयोजित करना चाहते हैं? यदि आप एक सामान्य पुस्तकालय का उपयोग करते हैं, तो आप अपने javascripts देने के लिए एक CDN का लाभ उठा सकते हैं। फिर आप ब्राउज़र कैशिंग (अन्य साइटों को उसी CDN का उपयोग कर रहे हैं) और वितरित वितरण का लाभ उठा सकते हैं। Microsoft और Google के पास प्रत्येक समाधान है (मैंने ईमानदारी से या तो उपयोग नहीं किया है, लेकिन मैं निश्चित रूप से शुरू करने जा रहा हूं) और अन्य हो सकते हैं।
ASP.NET प्रोजेक्ट्स के लिए, मैंने कार्ल सेगिन के निर्देशों के आधार पर इसे अपनी बिल्ड प्रोसेस का हिस्सा बनाया है ।
कार्ल ने इसे अपने ब्लॉग पर सबसे अच्छा बताया है, लेकिन संक्षिप्त संस्करण YUICompressor को कवर करने वाला कंसोल ऐप सेट करना है। फिर आप अपनी साइट में JS फ़ाइलों के स्थान के खिलाफ उस कंसोल ऐप को कॉल करने के लिए पोस्ट-बिल्ड कार्य सेट कर सकते हैं।
यह जानने के लिए कि अजगर वास्तव में उपयोगी हो सकता है। आप पायथन को बहुत जल्दी सीख सकते हैं। मैंने लगभग 2 सप्ताह पहले शुरू किया था और मेरा पहला आवेदन (जो अभी भी समाप्त नहीं हुआ है) ठीक वही काम करने जा रहा है जो आप चाहते हैं। डॉटलेस कंपाइलर की तरह इसमें एक वॉच फंक्शन होगा जो फाइलों या निर्देशिकाओं को देखेगा और यदि वे इसे बदलते हैं तो यह एक नई फाइल उत्पन्न करेगा।
पायथन अन्य रखरखाव कार्यों के लिए भी महान है और मैंने बहुत सारे सिस्टम एडिमिनिट्रेटर का उपयोग करना पसंद किया है।
मैंने Minifpy बनाया : Python3 (Mac OS, Windows और Linux संगत) में लिखित एक उपकरण जिसे Python का उपयोग करके JS और CSS फ़ाइल को मर्ज और छोटा करने के लिए किया गया है।
Minifpy परिभाषित करने के लिए बहुत आसान JSON कॉन्फ़िगरेशन फ़ाइल का उपयोग करता है कि किन फ़ाइलों को मर्ज करना, छोटा करना या नहीं करना चाहिए:
{
"js": {
"minify_files": [
{"from": "static/file.js", "to":"static/file.min.js"},
],
"merge_files": [
{"from" : ["static/file1.js", "static/file2.js"], "to":"static/public.js", "to_min": "static/public.min.js"}
]
},
"css" : {
"minify_files": [
{"from": "static/file.css", "to":"static/file.min.css"},
],
"merge_files": [
{"from" : ["static/file1.css", "static/file2.css"], "to":"static/public.css", "to_min": "static/public.min.css"}
]
}
}
आप इस टूल का उपयोग CLI में भी कर सकते हैं।
मिनीफैसी जेएस / सीएसएस फाइलों पर किसी भी संशोधन का पता लगाता है और उन्हें स्वचालित रूप से (विकास के लिए उपयोगी) मर्ज / छोटा करता है।