कैसे/कब/कहाँ शामिल करें मैं अपने जावास्क्रिप्ट (jQuery) कार्यों को पकड़ने के सर्वोत्तम तरीके पर कुछ सलाह ढूंढ रहा हूं।बाहरी जावास्क्रिप्ट
मैं एमवीसी/रेज़र में विकास कर रहा हूं और इसलिए एक लेआउट पेज है। मैं यहां अपनी jQuery लाइब्रेरी और एक बाहरी जावास्क्रिप्ट फ़ाइल शामिल करता हूं ताकि यह प्रत्येक पृष्ठ में उपलब्ध हो।
यह अच्छी तरह से काम कर रहा है, लेकिन अब मैं इस तथ्य से बहुत जागरूक हो रहा हूं कि मैं प्रत्येक पृष्ठ पर जेएस की लगभग 300 लाइनें जोड़ रहा हूं, जहां शायद इनमें से आधे इन पृष्ठों में से किसी एक में उपयोग किया जा सकता है।
एक फ़ंक्शन बाहरी फ़ाइल में नहीं है और इसके बजाय HTML के अंदर बैठता है क्योंकि मुझे अपने रेजर कोड में सेट चर का उपयोग करने की आवश्यकता है।
- एचटीएमएल आम तौर पर स्वीकार्य अंदर जे एस डाल रहा है जब चर रेजर का उपयोग कर सेट किया जाता है:
मैं इस व्यवस्था के चारों ओर सवालों की एक जोड़ी है? एक बाहरी जेएस फ़ाइल
- में एक चर पारित करने का एक साफ तरीका प्रतीत नहीं होता है, क्या मुझे अपने कार्यों को अलग-अलग जेएस फाइलों में विभाजित करना चाहिए और साइट में प्रत्येक पृष्ठ के लिए बस क्या आवश्यक है?
- अगर मैं उन्हें कई फाइलों में विभाजित करना चाहता था, तो यह jQuery के
(document).ready
के साथ कैसे काम करेगा? क्या मुझे इसका उपयोग करने की ज़रूरत है यदि मैं शामिल सभी जावास्क्रिप्ट का उपयोग किया जाना है?
मुझे यकीन है कि यह काले और सफेद उत्तर की तुलना में राय की बात करेगा, लेकिन मैं आगे बढ़ने से पहले अपने सभी विकल्पों पर विचार करना चाहता हूं। भले ही यह ठीक काम करता है, मैं मदद नहीं कर सकता लेकिन महसूस करता हूं कि एक बेहतर/साफ तरीका है।
इसके लिए धन्यवाद - तैनात किए जाने पर सभी कोड को छोटा किया गया है, साथ ही मैंने विचार नहीं किया था कैशिंग (यदि मैंने 1 बाहरी फाइलों का उपयोग 1 से अधिक किया है तो अधिक http अनुरोधों का उल्लेख नहीं करना है)। –
/सहमत हैं। यदि आपके पास केवल 300 लाइनें हैं तो मैं इसे एक पृष्ठ पर रखूंगा। यदि आप प्रत्येक पृष्ठ पर उन सभी कार्यों को चलाने के बारे में चिंतित हैं तो आप उन्हें अनुभागों में विभाजित कर सकते हैं और उस पृष्ठ को चेक कर सकते हैं जिस पर आप हैं, फिर केवल उस पृष्ठ के लिए आवश्यक फ़ंक्शंस चलाएं। मैं आमतौर पर अपने जेएस को नाम देता हूं और प्रत्येक के लिए एक init प्रदान करता हूं और इसे एक कथन में चिपकाता हूं: अगर ($ ('# होमपेज') {MySite.Homepage.init()} – Syon
@ साइयन: आप "उन सभी को नहीं चला रहे हैं प्रत्येक पृष्ठ पर फ़ंक्शंस ", आप केवल उनमें शामिल हैं। साथ ही, प्रत्येक जेएस मॉड्यूल को एक अलग फ़ाइल में अलग करना आपकी फ़ाइलों के बेहतर प्रबंधन के लिए समझ में आता है, लेकिन प्रदर्शन के अनुसार मैं हमेशा एक फ़ाइल में सब कुछ डालता हूं। उपयोगकर्ता इसे एक बार लोड करता है और कैश बाकी करेंगे। शायद सबसे अच्छा सेट अप है, अपने जेएस मॉड्यूल को विभिन्न फाइलों में तार्किक रूप से अलग करना और अपने जावास्क्रिप्ट कोड को संक्षिप्त और संक्षिप्त करने के लिए प्रीप्रोसेसर का उपयोग करना। – Amberlamps