首页 > 解决方案 > 通知用户在 SPA 网站上刷新浏览器的正确方法是什么(更改 .js 文件时)

问题描述

我正在寻找一种适当的方式来通知用户有关更新的网站版本。

每当我上传新的生产 .js 文件时,网站的某些部分在不刷新浏览器的情况下仍然可以正常工作,但大多数都不会,用户可能永远不会想到只刷新浏览器。

每当上传新的 .js 文件时,如何自动通知用户刷新浏览器?

我正在使用 Vue 和 Laravel-mix。

标签: javascriptvue.jswebpacksingle-page-applicationlaravel-mix

解决方案


需要缓存破坏器,并且可以使用例如自动化。gulp-rev:概念是在每次构建时重命名资源文件,这样当用户打开您的应用程序时,它们就不会从缓存中检索。

但是,如果浏览器选项卡打开并且在用户使用应用程序时完成升级是不够的。在这种情况下,也许您想显示一条模式消息来刷新页面,或者自动刷新以加载新版本。

为此,您应该在首次打开应用程序时将版本号(或 git commit hash)存储在您的 SPA 范围内的某个位置,并通过 Web 服务调用定期检查当前后端版本。如果您检测到版本更改,您将显示该消息(并阻止用户使用其旧版本)。


推荐阅读