当前位置: 首页 > news >正文

温州建设小学网站ftp 迁移 网站

温州建设小学网站,ftp 迁移 网站,枣庄网站建设公司,适合用dedecms做的网站前端版本更新提示 前言#xff1a;最近项目发布比较频繁、导致每次都要主动告知用户/测试 去刷新清除页面缓存、从而防止发了新功能之后、用户因为没有刷新页面/清除缓存#xff0c;一直使用的还是旧版本。所以就着手写一个检测到发布了新版本就自动提醒用户去刷新页面的功能…前端版本更新提示 前言最近项目发布比较频繁、导致每次都要主动告知用户/测试 去刷新清除页面缓存、从而防止发了新功能之后、用户因为没有刷新页面/清除缓存一直使用的还是旧版本。所以就着手写一个检测到发布了新版本就自动提醒用户去刷新页面的功能。 一、思路 我们可以通过每次打包构建(npm run build)之后给包打一个唯一标识并且挂在到页面中的某个标签上或者存在本地缓存(localStorage/sessionStroage)、从而来确定唯一性然后通过判断本地的存储的唯一标识是否与当前服务器上的资源记录的唯一标识是否一致。相等那就证明是最新版本不需要做操作、不相等则证明发布了新版本需要提醒用户刷新。 二、实现 (1). 首先在项目根目(与package.json同一层级)录写一个js脚本用于每次构建时、创建一个版本文件。提供给后续通过请求获取、进行版本对比使用。 我这里使用到时间戳做为唯一标识 // version.js const fs require(fs); const timestamp new Date().getTime(); fs.writeFile(./public/version.json, {version: ${timestamp}}, err {if (err) {console.error(err);} });(2). 修改vue.config 配置 // 首先需要判断一下当前是否是生产环境开发环境不需要此功能 const AppVersion process.env.NODE_ENV production? require(./public/version.json): {version: dev};// 接着需要在 chainWebpack 函数内加入下面这段代码 // 加入下面代码 是为了可以在 index.html 文件内访问到版本号(AppVersion.version) module.export {....chainWebpack: config {...config.plugin(html).tap(args {args[0].version AppVersion.version;return args;});...} }(3). 修改 public 文件夹内 index.html 入口文件 加入下面这段代码 此处的content 属性值访问到的就是我们的版本号(时间戳)。 meta idappVersion nameversion content% htmlWebpackPlugin.options.version% /(4). 在全局路由 afterEach 钩子函数内进行判断 // store 文件内 actions: {checkVersion() {return new Promise(resolve {fetch(${window.location.origin}/version.json?v${new Date().getTime()}, {headers: {Cache-Control: no-cache}}).then(res res.text()).then(res {resolve(JSON.parse(res).version Number(document.querySelector(#appVersion).content));});});} }// 路由文件 router.afterEach(async () {if (process.env.NODE_ENV production) {const flag await store.dispatch(checkVersion);if (!flag) {MessageBox.confirm(检测到当前版本不是最新版本,刷新后立即使用, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,type: warning,showCancelButton: false}).then(() {window.location.reload();});}} });(5). 修改 package.json 文件 // 生产打包配置 build:prod: node version.js vue-cli-service build --mode prod,三、结尾 到这里就已经实现了这个功能、这个版本也只是最初是版本还有很大的优化空间、有兴趣可以继续自行优化一下。例如判断版本的地方不一定非得是全局路由钩子、可以进行轮询判断等等、反正具体可以结合自己业务去做调整优化这里只是提供一个思路。
http://www.sadfv.cn/news/60166/

相关文章:

  • 古镇网站建设公司wordpress个人支付插件
  • 清新区城乡建设局网站微信代运营合同模板
  • 康定网站建设公司北京好的建站团队
  • 北京网站设计公司jq成都柚米科技15网站引导制作
  • 药店网站模板自助网站免费注册
  • 现在做网站怎么样北京社保网上服务平台
  • 彩票网站做代理网站建设去哪
  • 网站seo优化有哪些方面做网站的时候用的什么框架
  • 广东seo网站优化公司封面上的网站怎么做的
  • dw网站怎么做跳转免费网页在线代理服务器
  • 山南网站建设广州做网站 汉狮网络
  • 珠宝类网站模板服务器 多wordpress
  • wordpress js 插件开发东莞网站建设分享seo
  • 智能建网站用什么网站做pathway分析
  • 重庆市做网站的公司有哪些网站建设服务代理商
  • 企业手机网站建设行情seo关键字怎么优化
  • 网站备案时 首页网站域名可以做端口映射吗
  • 网站首页制作的过程可以建网站的公司
  • 餐馆网站模板淘宝联盟的网站怎么做
  • 网站流量如何提高沈阳网页设计培训
  • 广东省网站集约化建设方案哪些网站做任务可以赚钱
  • 义乌网图科技有限公司怎么样网站优化怎样做
  • 如何查询网站快照河北网站建设工程
  • 网站开发 图标微信app下载安装官方版2022网址
  • 国内公司网站需要备案吗网页制作公司北京
  • 网站主服务器所在地地址企业年金退休后如何领取
  • 国外儿童社区网站模板企业网站seo多少钱
  • 企业网站建设费用入什么科目绥化市新闻最新消息
  • 网站建设百度知道虾米WordPress
  • 企业宣传册免费模板网站网站设计 方案