RequireJS 似乎在内部做了一些缓存所需的 javascript 文件的事情。如果我对所需文件之一进行更改,我必须重命名该文件才能应用更改。
将版本号作为查询字符串参数附加到文件名末尾的常见技巧不适用于 requirejs<script src="jsfile.js?v2"></script>
我正在寻找一种方法来防止 RequireJS 所需脚本的这种内部缓存,而不必在每次更新脚本文件时重命名它们。
跨平台解决方案:
我现在urlArgs: "bust=" + (new Date()).getTime()
在开发和生产过程中使用自动缓存清除,在urlArgs: "bust=v2"
推出更新的所需脚本后,我会增加硬编码的版本号。
笔记:
@Dustin Getz 在最近的回答中提到,当 Javascript 文件像这样不断刷新时,Chrome 开发者工具会在调试期间删除断点。一种解决方法是编写debugger;
代码以在大多数 Javascript 调试器中触发断点。
服务器特定的解决方案:
对于可能更适合您的服务器环境(例如 Node 或 Apache)的特定解决方案,请参阅下面的一些答案。