Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >vue页面缓存问题_vue项目自动打开浏览器设置

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

作者头像
全栈程序员站长
发布于 2022-11-01 07:07:32
发布于 2022-11-01 07:07:32
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

目录

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资源重新加载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//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.cn/180006.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vue 部署上线清除浏览器缓存「建议收藏」
vue 项目打包上线之后,每一次都会有浏览器缓存问题,需要手动的清除缓存。这样用户体验非常不好,所以我们在打包部署的时候需要尽量避免浏览器的缓存。下面是我的解决方案:
全栈程序员站长
2022/09/09
5.1K0
vue 部署上线清除浏览器缓存「建议收藏」
Vue 打包上线后的缓存问题
大家用vue脚手架搭建前端工程时,常被缓存问题所困扰,具体的表现就是,当程序版本升级时,用户因为缓存访问的还是老的页面,然后很多同学很暴力的直接在index.html中加入了这几行代码:
前端逗逗飞
2021/04/30
5.1K0
Vue 入口缓存的问题
在开发时候经常遇到一个问题,我们根据版本号去控制缓存问题,当我们发布新版本,使用心得版本号的时候,发现 html 里面引用的版本号却是旧的版本号 ,原来是该 html 文件被缓存了,很多时候我们设置禁止 html 文件被缓存,但依然会出现被缓存的情况。
chuchur
2022/10/25
1.1K0
vue 强制清除浏览器缓存
(1)最基本的方法就是,在打包的时候给每个打包文件加上hash 值,一般是在文件后面加上时间戳
全栈程序员站长
2022/09/09
2K0
浏览器 & HTTP 缓存策略
强缓存是指在缓存期间,请求不会发送到服务器,浏览器直接返回缓存结果,需要设置 Header:
leocoder
2020/03/27
6010
Vue版本更新清除浏览器缓存
修改build/webpack.prod.conf.js路径里的文件 const version = new Date().getTime(); output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash:8].' + version + '.js'), chunkFilename: utils.assetsPath('js/[name].[chunkhash:8].'
明知山
2020/09/03
2.2K0
vue白屏优化方案
  vue项目打包后,在非首次线上替换dist文件时,某些手机/浏览器在之后首次打开页面,可能出现白屏情况。那么该问题产生原因是什么呢?我们又该如何应对呢?
流眸
2019/09/05
3.3K0
微信页面入口文件被缓存解决方案
缓存对于前端页面来说,是加速页面加载的利器之一,但也同时带来了很多问题,比如新版本发布之后,怎么替换客户端上的缓存文件呢?大家一般的的解决方案主要有以下几种形式,
木子墨
2018/10/11
4K0
Vue 页面反复刷新常见问题及解决方案
Vue.js 是一个流行的前端框架,旨在通过其响应式的数据绑定和组件化的开发模式简化开发。然而,在开发 Vue.js 应用时,页面反复刷新的问题可能会对用户体验和开发效率产生负面影响。本文将深入探讨 Vue 页面反复刷新的常见原因,并提供详细的解决方案,帮助开发者更好地管理和优化其 Vue.js 应用。
繁依Fanyi
2024/08/03
4990
vue项目更新后清除浏览器缓存
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161151.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/09
1.5K0
vue项目更新后清除浏览器缓存
前端单文件入口发布新版本 缓存问题
在现代 javascript框架项目开发中,一直有一个令人都疼的问题,就是缓存问题;每次发版完之后由于浏览器缓存机制,用户端不会实时获取新的项目页面,甚至有可能出现静态文件获取报404。
mousemin
2023/06/10
6450
前端缓存那些事
Cache-Control 比Expires比较要内涵,具备更多的属性,其中包括如下
树酱
2020/07/03
8120
前端缓存那些事
【优化】vue项目缓存引发的白屏
近期vue项目在构建完成上线之后,每次往线上更新版本,总会收到一部分反馈——web页面白屏,需要清除缓存数据重新加载才能正常访问。
流眸
2020/12/15
3.3K0
Nginx下关于缓存控制字段cache-control的配置说明 - 运维小结
HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。 请求时的缓存指令包括: no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached等。 响应消息中的指令包括: public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。
洗尽了浮华
2019/05/25
9K0
浏览器缓存机制
Service Worker是运行在浏览器背后的独立线程,一般可以用于实现缓存。使用service worker,传输协议必须为HTTPS。因为service worker 中涉及到请求拦截。
用户3258338
2020/02/25
1.4K0
浏览器缓存机制
IE内核浏览器的404页面问题和IE自动缓存引发的问题
本站404页面被IE替换成IE自己的404页面 在权限设置正确的情况下,自定义的404页面文件大小如果小于512字节,那么IE内核的浏览器会认为你自定义的404页面不够权威,从而使用其自带的404页面
mcq
2018/06/20
1.7K0
uni-app开发微信公众号H5时防止页面被缓存的处理
修改页面后重新打包,测试人员在确认问题时总是说没改,页面没有变化,需要进行繁琐的清缓存操作才能获取到最新版本。
薛定喵君
2021/10/28
4.2K0
HTTP缓存,浏览器缓存
可分为两大类:http缓存和浏览器缓存。我们今天重点讲的是http缓存,所以关于浏览器缓存大家自行去查阅。下面这张图是前端缓存的一个大致知识点:
回忆大大
2023/03/19
1K0
HTTP缓存,浏览器缓存
解决前端缓存问题
vue-cli里的默认配置,css和js的名字都加了哈希值,所以新版本css、js和就旧版本的名字是不同的,不会有缓存问题。 不过值得注意的是,把打包好的index.html放到服务器里去的时候,index.html在服务器端可能是有缓存的,这需要在服务器配置不让缓存index.html
用户6094182
2021/03/04
9250
浏览器缓存
原文链接:http://www.cun-xu.cn/index.php/2018/12/26/浏览器缓存/
IMWeb前端团队
2019/12/03
2.3K0
浏览器缓存
相关推荐
vue 部署上线清除浏览器缓存「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验