यहाँ, बात यह हैBests अभ्यास - Gulp
मैं ऐसी दुनिया में जहां आप कई js फ़ाइलों एक वेब पेज के लिए शामिल है से आते हैं। कुछ हमेशा पृष्ठ में शामिल हैं (आपकी libs, मेनू आदि ...) और अन्य वर्तमान पृष्ठ (लॉगिन पृष्ठ के लिए जेएस, सदस्यता आदि के लिए जेएस ...) के आधार पर हैं। मूल रूप से मान लें कि मेरे पास प्रति पृष्ठ 1 अलग जेएस फ़ाइल प्लस libs है।
अब मैं browserify के साथ एक नई परियोजना शुरू करना चाहते हैं और मैं एक बड़ी समस्या के सामने हूँ:
- सभी उदाहरण मैंने देखा है में, हमेशा है एक एकल प्रवेश बिंदु (app.js की तरह)।
- मेरे मामले में मेरे पास एन प्रवेश बिंदु (1 प्रति पृष्ठ) होगा।
तो मेरे सवालों का हैं:
- यह प्रति पेज 1 प्रवेश बिंदु के लिए अच्छा प्रथाओं के खिलाफ है? क्यूं कर ?
- यदि हाँ, पृष्ठ-विशिष्ट जे एस का बहुत कुछ के साथ एक बड़ी एप्लिकेशन browserifying के लिए अच्छा तरीका क्या है?
- यदि कोई, गुलप के साथ इसे स्वचालित कैसे करें। मैंने पाया हर उदाहरण में। आपको हर फाइल का नाम जानना होगा और इसे एक के बाद एक प्रक्रिया करना होगा। (उदाहरण के लिए सैकड़ों पृष्ठों के साथ एक बड़ी परियोजना में बहुत परेशान है)
- आप अपनी परियोजनाओं में इस से कैसे निपट रहे हैं? क्या मुझे पेज-विशिष्ट जेएस कोड से निपटने के लिए अपने तरीके पर पूरी तरह से पुनर्विचार करना है?
मेरे पास शायद ही कभी पृष्ठ विशिष्ट जावास्क्रिप्ट है, और जब मैं करता हूं, तो उस पृष्ठ को एक अतिरिक्त जेएस फ़ाइल मिलती है। इतना ही आसान। –
मैं एक पेज पेज एप्लिकेशन में नहीं हूं इसलिए मेरे पास लगभग प्रत्येक डोम लोडेड ईवेंट पर कुछ पेज विशिष्ट है। यदि आप एकाधिक पृष्ठों के अनुप्रयोगों के लिए 90% जेनेरिक जेएस लिखने के लिए एक तरीका (पैटर्न, अच्छा अभ्यास, ...) जानते हैं, तो मुझे गहरी दिलचस्पी है! – ZarkDev
मुख्य विचार उन सभी निर्भरताओं को बंडल करना होगा जो सभी पृष्ठों पर एक फ़ाइल में साझा किए जाते हैं, और उसके बाद एक अलग फ़ाइल होती है जो प्रत्येक पृष्ठ के लिए विशिष्ट होती है। उस विचार के साथ लक्ष्य फ़ाइल आकार को कम करने के दौरान प्रत्येक पृष्ठ दृश्य पर ब्राउज़र कैश से आने वाले कोड की मात्रा को अधिकतम करना है। नीचे दिए गए स्वीकृत समाधान के परिणामस्वरूप बहुत सारे अनावश्यक कोड होंगे, कहें, प्रत्येक पृष्ठ jQuery का उपयोग करता है। –