Vue入口文件index.html缓存的问题及解决

 更新时间:2023年03月19日 14:59:31   作者:搬砖小哥哥  
这篇文章主要介绍了Vue入口文件index.html缓存的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Vue入口文件index.html缓存

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

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

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

解决方法如下:

前端在index.html中添加:

    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-control" content="no-cache">
    <meta http-equiv="Cache" content="no-cache">    

nginx 配置如下:

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

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

<script src="https://cdn.jsdelivr.net/npm/jsencrypt@3.2.1/bin/jsencrypt.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/proxy-polyfill@0.3.0/proxy.min.js"></script>

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

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

<script src="./static/jsencrypt.min.js"></script>
<script src="./static/proxy.min.js"></script>

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

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

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

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

查看了 vue-cli文档

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

<link rel="icon" href="<%= BASE_URL %>favicon.ico" rel="external nofollow" >

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

<script src="<%= BASE_URL %>static/jsencrypt.min.js"></script><script src="<%= BASE_URL %>static/proxy.min.js"></script>

打包之后发布线上

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue中的@click.native 原生点击事件

    vue中的@click.native 原生点击事件

    这篇文章主要介绍了vue中的@click.native 原生点击事件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue实现简易记事本

    Vue实现简易记事本

    这篇文章主要为大家详细介绍了Vue实现简易记事本,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue 实现动态设置元素的高度

    vue 实现动态设置元素的高度

    这篇文章主要介绍了在vue中实现动态设置元素的高度,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue如何使用el-table遍历循环表头和表体数据

    vue如何使用el-table遍历循环表头和表体数据

    这篇文章主要介绍了vue如何使用el-table遍历循环表头和表体数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue2+ElementUI表单、Form组件的封装过程

    Vue2+ElementUI表单、Form组件的封装过程

    在 Vue2 项目中,ElementUI 的 el-form 组件是常用的表单组件,它提供了丰富的功能和样式,可以满足各种需求,本文给大家介绍Vue2+ElementUI表单、Form组件的封装过程,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • Vue3组件更新中的DOM diff算法示例详解

    Vue3组件更新中的DOM diff算法示例详解

    虚拟dom是当前前端最流行的两个框架(vue和react)都用到的一种技术,都说他能帮助vue和react提升渲染性能,提升用户体验,下面这篇文章主要给大家介绍了关于Vue3组件更新中的DOM diff算法的相关资料,需要的朋友可以参考下
    2022-04-04
  • element-ui中select下拉框加载大数据渲染优化方式

    element-ui中select下拉框加载大数据渲染优化方式

    这篇文章主要介绍了element-ui中select下拉框加载大数据渲染优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Vue3+NodeJS+Soket.io实现实时聊天的示例代码

    Vue3+NodeJS+Soket.io实现实时聊天的示例代码

    本文主要介绍了Vue3+NodeJS+Soket.io实现实时聊天的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Vue2.x父组件影响子组件样式的方法

    Vue2.x父组件影响子组件样式的方法

    在Vue.js开发中,我们经常需要创建可复用的组件,这些组件可能会有自己的样式规则,而有时我们希望父组件能够影响子组件的样式,本文将详细介绍如何使用v-deep以及一些相关的最佳实践,需要的朋友可以参考下
    2024-10-10
  • vue在路由中验证token是否存在的简单实现

    vue在路由中验证token是否存在的简单实现

    今天小编就为大家分享一篇vue在路由中验证token是否存在的简单实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论