验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Vue入口文件index.html缓存问题如何解决

阅读:706 来源:乙速云 作者:代码code

Vue入口文件index.html缓存问题如何解决

Vue入口文件index.html缓存

之前每次发版vue后台管理系统的时候,总是要强制刷浏览器才能生效,现在总算解决这个问题了。

vue-cli里的默认配置,css和js的名字都加了哈希值,所以新版本css、js和就旧版本的名字是不同的,不会有缓存问题。

但是把打包好的index.html放到服务器里去的时候,index.html在服务器端可能是有缓存的,这需要在服务器配置不让缓存index.html

解决方法如下:

前端在index.html中添加:

    
    
    
    

nginx 配置如下:

location = /index.html {
    add_header Cache-Control "no-cache, no-store";
}

Vue项目index.html引入静态资源,刷新页面

cdn.jsdelivr.net/npm/jsencrypt@3.2.1/bin/jsencrypt.min.js">

项目中引入这两个cdn。但是这两个cdn 都挂完了,后来改成了本地引用。

pubilc 文件夹下 创建了static存放静态文件,在index.html里面引用。



此时vue-router的路由模式(mode) 是 history模式。

Vue入口文件index.html缓存问题如何解决

上图是刚进页面的时候请求静态文件,静态文件的指向是正确的。

Vue入口文件index.html缓存问题如何解决

Vue入口文件index.html缓存问题如何解决

上面是在当前页面刷新一下出现的问题,提示引入的静态资源找不到。 一开始以为是要让后端在nginx里面添加配置。后来想想如果没配置的话 页面应该是404的。

现在问题定位知道了是 路径引用的问题并且是前端的原因。

查看了 vue-cli文档

Vue入口文件index.html缓存问题如何解决

并且在index.html里面看到了图标的引用,刷新的时候图标没有找不到。

favicon.ico" rel="external nofollow" >

所以那两个js的引用改为(试一试)

static/jsencrypt.min.js">static/proxy.min.js">

打包之后发布线上

Vue入口文件index.html缓存问题如何解决

本地效果(刷新之后依旧正确)

Vue入口文件index.html缓存问题如何解决

<%= BASE_URL %> 插值 当前域名引用

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>