javascript - 通知用户在 SPA 网站上刷新浏览器的正确方法是什么(当 .js 文件更改时)

标签 javascript vue.js webpack single-page-application laravel-mix

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

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

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

我正在使用 Vue 和 Laravel-mix。

最佳答案

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

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

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

关于javascript - 通知用户在 SPA 网站上刷新浏览器的正确方法是什么(当 .js 文件更改时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55806913/

相关文章:

vue.js - Vuetify-如何突出显示v-data-table中的点击行

javascript - 使用 HtmlWebpackPlugin minify.minifyJS 时是否应该使用 webpack UglifyJSPlugin?

javascript - 使用 RegExp 时出错 : Invalid left-hand side in assignment

javascript - 如何从 jquery 中可编辑的 div 内容中检索行尾?

javascript - TypeError : this. $refs.datasource.fetch 不是函数

reactjs - 使用 ESlint 在 TypeScript React 项目中使用 SVG 的正确方法

css - Webpack-dev-server 不应用全局样式?

Javascript:比较标准函数总是返回 *false*

javascript - 如何在使用 Mechanize 隐藏的输入上设置字段?

node.js - 如何在 nuxtjs 中的组件方法而不是 fetch 方法中进行重定向?