首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止浏览器缓存角视图

问防止浏览器缓存角视图
EN

Stack Overflow用户
提问于 2017-11-17 21:44:30
回答 1查看 166关注 0票数 1

在我的开发环境中,我配置了BrowserLink,以便每当我在一个角度的应用程序中更改HTML/JS时,浏览器就会重新加载。我注意到,有时我看不到我最近的变化。下列任何一种/两种方法都修复了它:

  1. 使用Ctrl F5作为浏览器强制加载资产
  2. 转到tools ->清除缓存

我担心的是,当应用程序正在生产时,用户也会缓存他们的视图/控制器/服务。

如何强制浏览器加载最新版本?

EN

回答 1

Stack Overflow用户

发布于 2017-11-17 21:59:30

这就是所谓的缓存破坏,并且有你可以用很多技巧。

就我个人而言,我通常使用Laravel,在那里我使用Mix自己的版本控制系统来对每个构建进行版本化。这样,指向资产的链接就指向了最新版本。如果您正在使用任何Javascript构建系统,您应该能够为它找到一个插件。

如果所有其他操作都失败了,我有时对非Laravel应用程序使用的技巧是获取文件上次更改的时间戳,并将其附加到文件路径中,如本例所示:

代码语言:javascript
复制
<img src="<?=$path?>?v=<?=filemtime($path)?>">

这一原则也适用于任何其他语言--这里有一个扶手来做同样的事情:

代码语言:javascript
复制
var fs = require('fs');
var Handlebars = require('handlebars');
Handlebars.registerHelper('version', function (path) {
    return path + '?v=' + fs.statSync(path).mtime.getTime();
});

在任何其他语言中做类似的事情应该不难。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47359744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档