यह विषय से थोड़ा हटकर हो सकता है, लेकिन आप ग्रंट (http://gruntjs.com/) का उपयोग कर सकते हैं - जो नोड से चलता है। (http://nodejs.org/, सभी प्रमुख प्लेटफार्मों के लिए उपलब्ध) कार्यों को चलाने के लिए। कमांड लाइन। इस टूल के लिए प्लगइन्स का एक गुच्छा है, जैसे टेम्पलेट कंपाइलर, https://npmjs.org/package/grunt-contrib-jst । GitHub, https://github.com/gruntjs/grunt-contrib-jst पर प्रलेखन देखें । (आपको नोड पैकेज मैनेजर, https://npmjs.org/ को चलाने के तरीके को भी समझना होगा । चिंता न करें, यह अविश्वसनीय रूप से आसान और बहुमुखी है।)
फिर आप अपने सभी टेम्प्लेटों को अलग-अलग html फाइलों में रख सकते हैं, उन सभी को अंडरस्कोर (जो मुझे लगता है कि JST प्लगइन के लिए एक निर्भरता है, का उपयोग करके प्रीफ़ाइल करने के लिए उपकरण चलाते हैं, लेकिन चिंता न करें, नोड पैकेज मैनेजर आपके लिए निर्भरता को स्वतः स्थापित करेगा)।
यह आपके सभी टेम्प्लेट को एक स्क्रिप्ट में संकलित करता है, कहते हैं
templates.js
स्क्रिप्ट लोड करने से डिफ़ॉल्ट रूप से एक वैश्विक - "JST" सेट हो जाएगा - जो कि एक प्रकार का कार्य है, और इसे इस तरह एक्सेस किया जा सकता है:
JST['templates/listView.html']()
जो के समान होगा
_.template( $('#selector-to-your-script-template'))
यदि आप उस स्क्रिप्ट टैग की सामग्री को (टेम्प्लेट /) listView.html में डालते हैं
हालाँकि, असली किकर यह है: ग्रंट इस कार्य के साथ आता है जिसे 'वॉच' कहा जाता है, जो मूल रूप से आपके स्थानीय grunt.js फ़ाइल (जो मूल रूप से आपके ग्रंट प्रोजेक्ट के लिए एक कॉन्फिग फ़ाइल है, जावास्क्रिप्ट में है) में परिवर्तन की निगरानी करता है। )। यदि आपके पास यह कार्य टाइप करके, आपके लिए शुरू किया गया है:
grunt watch
कमांड लाइन से, ग्रंट आपके द्वारा फ़ाइलों में किए गए सभी परिवर्तनों की निगरानी करेगा और उन सभी कार्यों को ऑटो-निष्पादित करेगा जो आपके लिए उस grunt.js फ़ाइल में सेटअप हैं यदि यह परिवर्तनों का पता लगाता है - जैसे ऊपर वर्णित jst कार्य। संपादित करें और फिर अपनी फ़ाइलों को सहेजें, और आपके सभी टेम्पलेट एक जेएस फ़ाइल में पुन: व्यवस्थित करते हैं, भले ही वे कई निर्देशिकाओं और उपनिर्देशिकाओं में फैले हों।
इसी तरह के कार्यों को आपकी जावास्क्रिप्ट को लिंट करने, परीक्षण चलाने, अपनी स्क्रिप्ट फ़ाइलों को संक्षिप्त और छोटा / छोटा करने के लिए कॉन्फ़िगर किया जा सकता है। और सभी को वॉच टास्क से जोड़ा जा सकता है इसलिए आपकी फ़ाइलों में परिवर्तन स्वचालित रूप से आपके प्रोजेक्ट के एक नए 'बिल्ड' को ट्रिगर करेगा।
चीजों को सेट करने और समझने में कुछ समय लगता है कि grunt.js फ़ाइल को कैसे कॉन्फ़िगर करें, लेकिन यह अच्छी तरह से, निवेश किए गए समय के लायक है, और मुझे नहीं लगता कि आप कभी भी काम करने के पूर्व-ग्रन्ट तरीके से वापस जाएंगे