加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular4总是需要浏览器缓存清理

发布时间:2020-12-17 06:49:16 所属栏目:安全 来源:网络整理
导读:我在生产环境中有一个Web应用程序.用户每天都在使用它,当我发布更新并且用户返回到Web应用程序时,他/她查看旧版本的Web应用程序.他需要刷新浏览器才能加载新版本.我怎么解决这个问题?每次发布更新(每周3-4次)时,我都无法告诉数百名用户刷新页面. 我用以下来
我在生产环境中有一个Web应用程序.用户每天都在使用它,当我发布更新并且用户返回到Web应用程序时,他/她查看旧版本的Web应用程序.他需要刷新浏览器才能加载新版本.我怎么解决这个问题?每次发布更新(每周3-4次)时,我都无法告诉数百名用户刷新页面.
我用以下来构建我的前端应用程序:Angular4 with angular-cli

解决方法

清理浏览器缓存的最佳方法是在构建时使用散列.在angular cli app中添加散列的命令是

ng build --prod --output-hashing=all

每次构建时,它都会生成具有不同名称的构建文件.

如果你没有使用angular cli,你可以通过这种方式声明组件缓存清除

@Component({
  selector: 'some-component',templateUrl: `./app/component/stuff/component.html?v=${new Date().getTime()}`,styleUrls: [`./app/component/stuff/component.css?v=${new Date().getTime()}`]
})

我们也可以在我们的nginx服务器中设置缓存过期时间.运行此命令

sudo nano /etc/nginx/sites-available/default

编辑配置文件&添加这些行以设置缓存设置

location ~* .(jpg|jpeg|png|gif|ico|css|js)${
  expires 3d;
}

这将设置到期时间为3天.因此,浏览器将自动删除您的网络应用程序的所有存储缓存下载新副本.

jpg|jpeg|png|gif|ico|css|js <– configuration will cache jpg/jpeg/png/gif/ico images as well as javascript

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读