7

前言

首先,我们在进行开发前要有一个思路:
判断当前版本与前一个版本是否相同,不同就刷新页面。

1. 在每次运行时新建一个js文件

图片描述
(fs模块用于对系统文件及目录进行读写操作。)
通过fs进行写入文件:

const Version=new Date().getTime();
var content ="getVersion('"+Version+"')"
fs.writeFile('public/version.js',content,function(err){
  if(err){
    return console.log(err)
  }
})

在public文件家中就会出现version.js文件,这个js文件的内容为随机数。内容如下:
图片描述

再进入页面调用路由的时候引入这个js文件

<Route name="home" breadcrumbName="首页" path="/" component={MainLayout} onEnter={(a,b)=>{
            var versionScript=document.createElement('script');
            versionScript.src=window.location.origin+'/xxx/xxx/xxx/version.js?v='+new Date().getTime();
            var s=document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(versionScript,s)
        }}>
        //...
        </Route>

进行对比js文件然后决定是否刷新

图片描述

结语

这个方法绝大部分浏览器是没有问题的,开发结束后打开线上项目会出现一次闪屏,就说明我们的操作是成功的!


九先生
48 声望3 粉丝

打工人,打工魂!