imr*_*ane 9 javascript caching browser-cache node.js requirejs
这个问题已被多次询问,但并不是这个例子的具体问题.
以下是我们的应用程序概述:
在开发过程中,我希望缓存更改胸部文件而不是那些核心库,以加快我的页面重新加载并加快我的开发.
我找到了解释:
可以解决方案:
缓存清除的工作原理是在每个所需文件的末尾附加一个始终唯一的查询字符串。它利用了 RequireJS 的urlArgs配置值;RequireJS 会为你添加它:
urlArgs: "bust=" + (new Date()).getTime()
Run Code Online (Sandbox Code Playgroud)
这(new Date()).getTime()部分只是从 JavaScript 中获取唯一字符串的简单方法。您可以对 做一些变化Math.random(),但使用自纪元以来的毫秒数可以保证唯一性,以实现最佳的缓存清除。
我认为伯克先生的建议是这样的:
require.config({
baseUrl: '/base/path',
paths: {
'fileAlias': 'fileLikelyToChange?bust=' + (new Date()).getTime(),
'anotherFileAlias': 'anotherFileLikelyToChange?bust=' + (new Date()).getTime(),
'jQuery': 'jQuery'
},
});
Run Code Online (Sandbox Code Playgroud)
因此,urlArgs您可以将其专门应用于每个可能更改的文件,而不是无处不在的缓存清除;因此,排除任何库。
我还没有测试过,但我可能会将其整理为以下内容:
function bust(path) {
return path + '?bust=' + (new Date()).getTime();
}
require.config({
baseUrl: '/base/path',
paths: {
'fileAlias': bust('fileLikelyToChange'),
'anotherFileAlias': bust('anotherFileLikelyToChange'),
'jQuery': 'jQuery'
},
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4378 次 |
| 最近记录: |