相关文章推荐
谦虚好学的黑框眼镜  ·  原生checkbox复选框的样式修改_修改原 ...·  4 月前    · 
活泼的海龟  ·  时间序列:多步预测的方法以及序列问题的分类 ...·  1 年前    · 
逃跑的企鹅  ·  VScode ...·  2 年前    · 
急躁的打火机  ·  Excel函数常见特殊符号、字符解读 - 知乎·  2 年前    · 
细心的乒乓球  ·  大数据 - spark-sql 常用命令 ...·  2 年前    · 
小百科  ›  vue页面冗余问题_vue项目自动接上浏览器设置-腾讯云开发者社区-腾讯云
软件 缓存服务器 浏览器缓存 vue
爱吹牛的镜子
2 年前
作者头像
全栈程序员站长
0 篇文章

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

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 全栈程序员必看 > vue页面缓存问题_vue项目自动打开浏览器设置

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

作者头像
全栈程序员站长
发布 于 2022-11-01 15:07:32
644 0
发布 于 2022-11-01 15:07:32
举报

目录

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 
    <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: {
 
推荐文章
谦虚好学的黑框眼镜  ·  原生checkbox复选框的样式修改_修改原生checkbox的边框颜色-CSDN博客
4 月前
活泼的海龟  ·  时间序列:多步预测的方法以及序列问题的分类 - 知乎
1 年前
逃跑的企鹅  ·  VScode settings.json显示错误“预期文件结束”-腾讯云开发者社区-腾讯云
2 年前
急躁的打火机  ·  Excel函数常见特殊符号、字符解读 - 知乎
2 年前
细心的乒乓球  ·  大数据 - spark-sql 常用命令 - Blue·Sky - 博客园
2 年前
Link管理   ·   Sov5搜索   ·   小百科
小百科 - 百科知识指南