मुझे css / js फ़ाइलों को स्वचालित रूप से संयोजित करने के लिए क्या उपयोग करना चाहिए?


14

मुझे जावास्क्रिप्ट फ़ाइलों के संयोजन के लिए sprockets के बारे में पता है , लेकिन यह कोशिश नहीं की है। कुछ अन्य विकल्प क्या हैं और वे कैसे स्टैक करते हैं?


2
इसके अलावा, एक वास्तविक जवाब नहीं है, आप संसाधन संकुल में रुचि हो सकती है: limi.net/articles/resource-packages दुर्भाग्य से, मुझे नहीं लगता कि किसी ने भी इसे अभी तक लागू नहीं किया है।
लूसीसुबल

जवाबों:


4

मैंने Asp.Net के लिए एक हैंडलर लिखा जो YUI का उपयोग संपीड़ित, संक्षिप्त, और आउटपुट को कैश करता है।

यहाँ स्रोत है: http://gist.github.com/130913


2

मैं इस मुद्दे को पहले ही एक अन्य प्रश्न में संबोधित कर चुका हूं

दृष्टिबाधितों में, मुझे इसे प्रोग्रामर साइट के बजाय वेबमास्टर्स पर पूछना चाहिए था।

आपके पास 3 विकल्प हैं:

  1. अपने ढांचे को अपने आप संभाल लें
  2. अपने वेबसर्वर को इसे स्वचालित रूप से हैंडल करने दें
  3. इसे स्वयं करने के लिए अपना स्वयं का विकल्प रोल करें

विकल्प 1 (एक CakePHP एक्सटेंशन का उपयोग करके):

अपनी साइट में AssetPacker को डाउनलोड करें और इंस्टॉल करें (जिसमें jsmin और CSSTidy भी आवश्यक है)। स्रोत की कुछ पंक्तियों को संशोधित करें जिसमें js फाइलें शामिल हैं। धोने> Rinse-> दोहराएँ। वोइला, बाकी सब अपने आप हो जाता है।

यदि आप कुछ अन्य ढांचे का उपयोग करते हैं, तो संभावना है, एक उपकरण है जो आपके लिए इसे पूरा करेगा। यह वेबदेव की दुनिया में एक बहुत ही आम आवश्यकता है।

विकल्प 2 (एक अपाचे मॉड का उपयोग करके):

Apache के लिए Google Pagespeed मॉड पर एक नज़र डालें । यह सब कुछ आप का वर्णन करता है और एक पूरी बहुत अधिक है।

हालांकि अपने उत्पादन सर्वर के संसाधनों की निगरानी करना सुनिश्चित करें। कुछ लोग उन मुद्दों को देख रहे हैं जहां यह अपने सर्वर पर खराब तरीके से लोड बढ़ाता है। मैं सकारात्मक नहीं हूं, लेकिन प्रभावी विकल्प के लिए पर्याप्त स्थिर सामग्री रणनीति की आवश्यकता हो सकती है।

विकल्प 3:

यदि आप वास्तव में चाहते हैं, तो आप कुछ PHP जादू बना सकते हैं जो जेएस फाइल सर्वर साइड को समेटते हैं और सभी लिंक रिले को एक में जोड़ते हैं लेकिन ... ठीक यही दो रणनीति पहले से ही कर रहे हैं।

व्यक्तिगत रूप से, मैं इस विकल्प के खिलाफ दृढ़ता से सलाह दूंगा।


जहां तक ​​मुझे पता है कि Sprockets JS फाइल को AssetPacker के समान बनाती है, तो इसे सिर्फ Ruby Gem के रूप में लागू किया जाता है। जेएस कोड को छोटा नहीं करता है। इसलिए, यदि आप इसका उपयोग करते हैं, तो शायद यह एक अच्छा विचार है कि जैन रत्न को भी हड़प लें। CakePHP में Sprockets + JSMin का उपयोग करने के तरीके के बारे में जानकारी के लिए इसे देखें

मुझे पता है कि मैं CakePHP पर जोर देता हूं, लेकिन ... मैं मान रहा हूं कि, अगर एक प्लगइन CakePHP के लिए अनुकूलित किया जा सकता है, तो इसे एक अलग ढांचे में भी अनुकूलित करने के लिए तुच्छ होना चाहिए।


1

एक त्वरित Google खोज सीएसएस फ़ाइलों को संयोजित करने के लिए इसे ढूंढती है: http://www.tothepc.com/archives/combine-merge-multiple-css-files/


दुर्भाग्यवश C # वास्तव में मेरे उद्देश्यों के लिए उपयुक्त नहीं है, लेकिन उम्मीद है कि कोई इससे लाभान्वित होगा
Cebjyre

1

क्या आप वाकई उन्हें संयोजित करना चाहते हैं? यदि आप एक सामान्य पुस्तकालय का उपयोग करते हैं, तो आप अपने javascripts देने के लिए एक CDN का लाभ उठा सकते हैं। फिर आप ब्राउज़र कैशिंग (अन्य साइटों को उसी CDN का उपयोग कर रहे हैं) और वितरित वितरण का लाभ उठा सकते हैं। Microsoft और Google के पास प्रत्येक समाधान है (मैंने ईमानदारी से या तो उपयोग नहीं किया है, लेकिन मैं निश्चित रूप से शुरू करने जा रहा हूं) और अन्य हो सकते हैं।


1

ASP.NET प्रोजेक्ट्स के लिए, मैंने कार्ल सेगिन के निर्देशों के आधार पर इसे अपनी बिल्ड प्रोसेस का हिस्सा बनाया है ।

कार्ल ने इसे अपने ब्लॉग पर सबसे अच्छा बताया है, लेकिन संक्षिप्त संस्करण YUICompressor को कवर करने वाला कंसोल ऐप सेट करना है। फिर आप अपनी साइट में JS फ़ाइलों के स्थान के खिलाफ उस कंसोल ऐप को कॉल करने के लिए पोस्ट-बिल्ड कार्य सेट कर सकते हैं।


1

यदि आपका webapp PHP में है, तो आपको minify का उपयोग करने पर विचार करना चाहिए :

यह कई सीएसएस या जावास्क्रिप्ट फ़ाइलों को जोड़ती है, अनावश्यक व्हाट्सएप और टिप्पणियों को हटाती है, और उन्हें gzip एन्कोडिंग और इष्टतम क्लाइंट-साइड कैश हेडर के साथ कार्य करती है।


1

यह जानने के लिए कि अजगर वास्तव में उपयोगी हो सकता है। आप पायथन को बहुत जल्दी सीख सकते हैं। मैंने लगभग 2 सप्ताह पहले शुरू किया था और मेरा पहला आवेदन (जो अभी भी समाप्त नहीं हुआ है) ठीक वही काम करने जा रहा है जो आप चाहते हैं। डॉटलेस कंपाइलर की तरह इसमें एक वॉच फंक्शन होगा जो फाइलों या निर्देशिकाओं को देखेगा और यदि वे इसे बदलते हैं तो यह एक नई फाइल उत्पन्न करेगा।

पायथन अन्य रखरखाव कार्यों के लिए भी महान है और मैंने बहुत सारे सिस्टम एडिमिनिट्रेटर का उपयोग करना पसंद किया है।


मैं खुद एक पर्ल व्यक्ति से अधिक हूं, और मैं शायद एक साथ कुछ हैक कर सकता हूं, लेकिन मैं पहले से मौजूद कुछ टूल का उपयोग करूंगा (साथ ही, संभवतः बेहतर परीक्षण और मेरे त्वरित और गंदे प्रयास से अधिक विशेषताएं)।
Cebjyre

घृणित आत्म-प्रचार लेकिन @ विकल्स, क्या आप इस परियोजना में मदद करना चाहेंगे? code.google.com/p/lesscss-python
मेटलहार्क

0

मैंने 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 में भी कर सकते हैं।

मिनीफैसी जेएस / सीएसएस फाइलों पर किसी भी संशोधन का पता लगाता है और उन्हें स्वचालित रूप से (विकास के लिए उपयोगी) मर्ज / छोटा करता है।

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