आवश्यकताएं आंतरिक रूप से कुछ करने के लिए लगता है कि कैश को जावास्क्रिप्ट फ़ाइलों की आवश्यकता होती है। यदि मैं आवश्यक फ़ाइलों में से एक में परिवर्तन करता हूं, तो मुझे लागू होने वाले परिवर्तनों के लिए फ़ाइल का नाम बदलना होगा।
फ़ाइल नाम के अंत में एक querystring परम के रूप में एक संस्करण संख्या को जोड़ने की आम चाल आवश्यकता के साथ काम नहीं करती है <script src="jsfile.js?v2"></script>
मैं जिस चीज की तलाश कर रहा हूं, वह हर बार जब वे अपडेट की जाती हैं, तो मुझे अपनी स्क्रिप्ट फ़ाइलों का नाम बदले बिना आवश्यकता के लिए आवश्यक स्क्रिप्ट के इस आंतरिक कैशिंग को रोकने का एक तरीका है।
क्रॉस-प्लेटफ़ॉर्म समाधान:
मैं अब urlArgs: "bust=" + (new Date()).getTime()
विकास के दौरान और urlArgs: "bust=v2"
उत्पादन के लिए स्वचालित कैश-बस्टिंग के लिए उपयोग कर रहा हूं जहां मैं एक अद्यतन आवश्यक स्क्रिप्ट को रोल करने के बाद हार्ड-कोडित संस्करण संख्या बढ़ाता हूं।
ध्यान दें:
@ डस्टिन गेट्ज़ ने हाल के एक जवाब में उल्लेख किया कि क्रोम डेवलपर टूल डिबगिंग के दौरान ब्रेकपॉइंट को छोड़ देंगे जब जावास्क्रिप्ट फाइलें इस तरह से लगातार ताज़ा होती हैं। debugger;
अधिकांश जावास्क्रिप्ट डिबगर्स में एक ब्रेकपॉइंट को ट्रिगर करने के लिए कोड में एक वर्कअराउंड लिखना है।
सर्वर-विशिष्ट समाधान:
विशिष्ट समाधानों के लिए जो आपके सर्वर वातावरण जैसे कि नोड या अपाचे के लिए बेहतर काम कर सकते हैं, नीचे दिए गए कुछ उत्तर देखें।