vue页面缓存问题_vue项目自动打开浏览器设置

vue页面缓存问题_vue项目自动打开浏览器设置目录1.什么是浏览器缓存2.浏览器缓存类型:3.浏览器缓存的优势与劣势:4.浏览器缓存机制5.如何清除浏览器缓存在代码更新发布后,都会要求运营人员在访问网址时清除下本地缓存,防止万一掉坑那问题就来了:每次清缓存很麻烦,怎样就不需要他们每次去手动清缓存呢?1.什么是浏览器缓存浏览器缓存(BrowserCaching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页


Jetbrains全系列IDE稳定放心使用

目录

1.什么是浏览器缓存

2.浏览器缓存类型

3.浏览器缓存的优势与劣势

4. 浏览器缓存机制

5.如何清除浏览器缓存


在代码更新发布后,都会要求运营人员在访问网址时清除下本地缓存,防止万一掉坑

那问题就来了:每次清缓存很麻烦,怎样就不需要他们每次去手动清缓存呢?这就涉及到了浏览器缓存的问题

1.什么是浏览器缓存

浏览器缓存(Browser Caching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览

2.浏览器缓存类型

  • 缓存协商:Last-modified ,Etag
  • 彻底缓存(强制缓存):cache-control,Expires

3.浏览器缓存的优势与劣势

优势:

  • 节约网络资源,提高网络效率
  • 降低服务器压力,减少服务器负担

缺点:

  • 缓存没有清理机制
  • 占用硬盘空间
  • 页面缓存,导致页面样式、图片或脚本等未能及时更新展示

4. 浏览器缓存机制

查阅这里:https://www.cnblogs.com/vajoy/p/5341664.html

还有这里:https://blog.csdn.net/u014590757/article/details/80140654

还有这里:https://www.jianshu.com/p/1a1536ab01f1

还有:https://www.cnblogs.com/kevingrace/p/10459429.html

5.如何清除浏览器缓存

  • 修改根目录index.htm 让所有的css/js资源重新加载
    // index.html 
    <head> 
        <meta http-equiv="pragram" content="no-cache"> 
        <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">
    </head>
  • 配置 nginx 不缓存 html

    vue默认配置,打包后css和js的名字后面都加了哈希值,不会有缓存问题。但是index.html在服务器端可能是有缓存的,需要在服务器配置不让缓存index.html 

    server {
        listen 80;
        server_name yourdomain.com;
        location / {
            try_files $uri $uri/ /index.html;
            root /yourdir/;
            index index.html index.htm;
    
            if ($request_filename ~* .*\.(?:htm|html)$)
            {
                add_header Cache-Control "no-cache, no-store";  //对html文件设置永远不缓存
            }      
          }
    }
    

    no-cache:数据内容不能被缓存, 每次请求都重新访问服务器, 若有max-age, 则缓存期间不访问服务器

        no-store:不仅不能缓存, 连暂存也不可以(即: 临时文件夹中不能暂存该资源)

  • 打包的文件路径添加时间戳 

使用vue脚手架搭建的项目,打开vue.config.js

//vue.config.js
const version = new Date().getTime();
module.exports = {
    css: {
	    
	    // 是否使用css分离插件 ExtractTextPlugin
	    extract: {
	      // 修改打包后css文件名   // css打包文件,添加时间戳
	      filename: `css/[name].${version}.css`,   
	      chunkFilename: `css/[name].${version}.css`
	    }
	 },

    configureWebpack: {
        output: { // 输出重构  打包编译后的 文件名称  【模块名称.版本号.时间戳】
            filename: `[name].${process.env.VUE_APP_Version}.${Timestamp}.js`,
            chunkFilename: `[name].${process.env.VUE_APP_Version}.${Timestamp}.js`
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180006.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • lldp 命令「建议收藏」

    lldp 命令「建议收藏」LLDP协议介绍:简单说来,LLDP是一种邻近发现协议。它为以太网网络设备,如交换机、路由器和无线局域网接入点定义了一种标准的方法,使其可以向网络中其他节点公告自身的存在,并保存各个邻近设备的发现信息。例如设备配置和设备识别等详细信息都可以用该协议进行公告。具体来说,LLDP定义了一个通用公告信息集、一个传输公告的协议和一种用来存储所收到的公告信息的方法。要公告自身信息的设备…

    2022年5月28日
  • Ubuntu保存退出vim编辑器「建议收藏」

    Ubuntu保存退出vim编辑器「建议收藏」命令模式,从键盘上输入的任何字符都被作为编辑命令来解释,vi下很多操作如配置编辑器、文本查找和替换、选择文本等都是在命令模式下进行的。输入模式,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当作正文。1.编辑进入vi/vim后按字母“i”或“I”即可进入编辑状态(此时左下角会出现“插入”),另外还可以用a…

    2022年6月11日
  • SpringMVC @ResponseBody 415错误处理

    SpringMVC @ResponseBody 415错误处理闲话少说,刚开始用SpringMVC,页面要使用jquery的ajax请求Controller。但总是失败,主要表现为以下两个异常为:异常一:java.lang.ClassNotFoundException:org.springframework.http.converter.json.MappingJacksonHttpMessageConverter异常二

    2022年6月10日
  • Jenkins(2)docker容器中安装python3「建议收藏」

    Jenkins(2)docker容器中安装python3「建议收藏」前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月28日
  • 格林威治时间格式 字符串_string字符串转数组的方法

    格林威治时间格式 字符串_string字符串转数组的方法今天要处理从前端传来的日期参数,穿来的是一个GMT格式的字符串,类似于这种ThuMay18201800:00:00GMT+0800(中国标准时间)将字符串转成java.util.Date类型的做法是使用SimpleDateFormat,SimpleDateFormat有一个pattern参数用于匹配字符串里的时间数据。我按照网上方法将pattern设置为&quot;EEEMMMdd…

    2022年10月3日
  • 技巧 | json中文字符串中文乱码问题[通俗易懂]

    技巧 | json中文字符串中文乱码问题

    2022年2月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号