RequireJS ดูเหมือนว่าจะทำอะไรบางอย่างภายในว่าแคชจำเป็นต้องใช้ไฟล์จาวาสคริปต์ หากฉันทำการเปลี่ยนแปลงหนึ่งในไฟล์ที่ต้องการฉันจะต้องเปลี่ยนชื่อไฟล์เพื่อให้การเปลี่ยนแปลงมีผล
เคล็ดลับทั่วไปของการต่อท้ายหมายเลขรุ่นเป็นพารามิเตอร์การสอบถามถึงจุดสิ้นสุดของชื่อไฟล์ไม่สามารถทำงานกับ requirejs <script src="jsfile.js?v2"></script>
สิ่งที่ฉันกำลังมองหาคือวิธีป้องกันการแคชภายในสคริปต์ที่ต้องการของ RequireJS โดยไม่ต้องเปลี่ยนชื่อไฟล์สคริปต์ของฉันทุกครั้งที่มีการอัปเดต
โซลูชันข้ามแพลตฟอร์ม:
ตอนนี้ฉันกำลังใช้urlArgs: "bust=" + (new Date()).getTime()
สำหรับแคชอัตโนมัติในระหว่างการพัฒนาและurlArgs: "bust=v2"
สำหรับการผลิตที่ฉันเพิ่มเวอร์ชันที่มีรหัสฮาร์ดโค้ดหลังจากเผยแพร่สคริปต์ที่ต้องการที่อัปเดตแล้ว
บันทึก:
@Dustin Getz พูดถึงในคำตอบล่าสุดว่าเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Chrome จะวางจุดพักระหว่างการดีบักเมื่อไฟล์ Javascript มีการรีเฟรชอย่างต่อเนื่องเช่นนี้ วิธีแก้ปัญหาหนึ่งคือการเขียนdebugger;
โค้ดเพื่อทริกเกอร์เบรกพอยต์ในตัวแก้ไขข้อบกพร่องจาวาสคริปต์ส่วนใหญ่
โซลูชันเฉพาะเซิร์ฟเวอร์:
สำหรับวิธีแก้ปัญหาเฉพาะที่อาจทำงานได้ดีขึ้นสำหรับสภาพแวดล้อมเซิร์ฟเวอร์ของคุณเช่น Node หรือ Apache ดูคำตอบด้านล่าง