我尝试搜索但找不到与我的问题相符的问题。我已经开始使用RequireJS来管理我的脚本了,我注意到的一件事是当我做嵌套需求时,它看起来像第二个必需的模块无法尊重浏览器缓存,迫使我使用类似urlArgs的东西来使浏览器看到更新的脚本。初始必需模块工作正常,修改后,我会看到更新的etag和相应的请求标头,例如If-None-Match。第二个必需的脚本虽然没有,浏览器开发工具只显示它从缓存中返回200状态代码,直到我强制刷新或再次使用urlArgs。
以下示例代码
require(["app"], function (App) { // Browser sees updated app script just fine after modification
App.initialize({
id: ' . $id . ',
someOtherImportantOption: "' . $someOtherImportantValueFromServer . '"
});
require(["otherScript"]); // Browser fails to see updated otherScript when modified
});
如果我自己只需要其他脚本,那么它就可以很好地缓存,但我可能会依赖于服务器中的一堆内容。