在我的开发环境中,我配置了BrowserLink,以便每当我在一个角度的应用程序中更改HTML/JS时,浏览器就会重新加载。我注意到,有时我看不到我最近的变化。下列任何一种/两种方法都修复了它:
我担心的是,当应用程序正在生产时,用户也会缓存他们的视图/控制器/服务。
如何强制浏览器加载最新版本?
发布于 2017-11-17 21:59:30
这就是所谓的缓存破坏,并且有你可以用很多技巧。
就我个人而言,我通常使用Laravel,在那里我使用Mix自己的版本控制系统来对每个构建进行版本化。这样,指向资产的链接就指向了最新版本。如果您正在使用任何Javascript构建系统,您应该能够为它找到一个插件。
如果所有其他操作都失败了,我有时对非Laravel应用程序使用的技巧是获取文件上次更改的时间戳,并将其附加到文件路径中,如本例所示:
<img src="<?=$path?>?v=<?=filemtime($path)?>">这一原则也适用于任何其他语言--这里有一个扶手来做同样的事情:
var fs = require('fs');
var Handlebars = require('handlebars');
Handlebars.registerHelper('version', function (path) {
return path + '?v=' + fs.statSync(path).mtime.getTime();
});在任何其他语言中做类似的事情应该不难。
https://stackoverflow.com/questions/47359744
复制相似问题