使用require.js缓存时进行调试

Debugging when using require.js cache

本文关键字:调试 缓存 require js 使用      更新时间:2023-09-26

使用require.js,我注意到依赖项经常被浏览器缓存,即使我强制页面完全重新加载(command+shift+R),也不会得到更新。

为了始终更新文件,我让require.js请求添加"?url后的"datestamp"。这种方法唯一的问题是断点在重新加载后不会保留在chrome或firebug中,这使得调试非常痛苦。

你有什么建议吗?

实际上你可以做一些事情:

要么你完全禁用浏览器缓存来测试它。例如,Chrome中的一个简单方法是打开隐身窗口(CTRL+SHIFT+N),类似于Firefox中的私人浏览模式。然而,更理想的解决方案应该在这里列出:禁用Chrome缓存进行网站开发

或者,您指示Web服务器不发送javascript或某些javascript文件的缓存头。一种可能性是将mod_expires与apache一起使用。

我使用

require.config({ urlArgs: "v=" +  (new Date()).getTime() });

这解决了我的问题,但在你开始生产之前,你必须记住把它去掉。

我认为您可以在required.config 上使用urlArgs

引用自http://requirejs.org/docs/api.html#packagesurlArgs:附加到RequireJS用来获取资源的URL的额外查询字符串参数。当浏览器或服务器配置不正确时,缓存中断最有用。urlA 的缓存中断设置示例