在我的开发环境中,我配置了BrowserLink,这样每当我在角度应用程序中对HTML / JS进行更改时,浏览器就会重新加载。我注意到有时候我看不到最新的变化。以下两者中的任何一个都修复了它:
我担心当应用程序投入生产时,用户也会缓存其视图/控制器/服务。
如何强制浏览器加载最新版本?
答案 0 :(得分:0)
这称为缓存清除,有a number of tricks you can use for it。
就我个人而言,我经常与Laravel合作,在那里我使用Mix自己的版本控制系统对每个版本进行版本化。这样,指向资产的链接指向最新版本。如果你正在使用任何Javascript构建系统,你应该能够找到一个插件来实现它。
如果所有其他方法都失败了,我有时会使用非Laravel PHP应用程序来获取文件上次更改时间的时间戳并将其附加到文件路径,如下例所示:
<img src="<?=$path?>?v=<?=filemtime($path)?>">
该原则也适用于任何其他语言 - 这里是Handlebars助手也是如此:
var fs = require('fs');
var Handlebars = require('handlebars');
Handlebars.registerHelper('version', function (path) {
return path + '?v=' + fs.statSync(path).mtime.getTime();
});
用其他语言做类似的事情并不难。