vue中清除浏览器缓存得方法

vue中清除浏览器缓存得方法1.在HTTP协议中,只有后端返回expires或Cache-Control:max-age=XXX,前端才缓存。但在浏览器中,默认会对htmlcssjs等静态文件、以及重定向进行缓存,如果在HEAD头中指定:<HEAD> <METAHTTP-EQUIV=”Pragma”CONTENT=”no-cache”> <METAHTTP-EQUIV=”Cache-Control”CONTENT=”no-cache”> <METAHTTP-EQUIV

大家好,又见面了,我是你们的朋友全栈君。

1.在HTTP协议中,只有后端返回 expires 或 Cache-Control:max-age=XXX, 前端才缓存。
但在浏览器中,默认会对 html css js 等静态文件、以及重定向进行缓存,如果在HEAD头中指定:

<HEAD>
	<METAHTTP-EQUIV="Pragma"CONTENT="no-cache">
	<METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache">
	<METAHTTP-EQUIV="Expires"CONTENT="0">
</HEAD>

这种方法浏览器不会缓存html,但是还是会对重定向缓存,并且这种方式并不规范,可能有的浏览器不支持。

2.最常用的方法就是,在打包的时候给每个打包文件加上hash 值,一般是在文件后面加上时间戳或者随机数
//在vue.config.js 文件中,找到output:

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

3.在脚本加载时加入一个时间戳,修改 webpack.prod.conf.js 文件。(未使用过该方法,需要实践)

const version = new Date().getTime();
new HtmlWebpackPlugin({ 
   
	filename: config.build.index,
	template: 'index.html',
	inject: true,
	hash: version,
	favicon: resolve('icon.ico'),
	title: 'vue-admin-template',
	minify: { 
   
		removeComments: true,
		collapseWhitespace: true,
		removeAttributeQuotes: true
	}
})
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 解决:Could not find debuginfo pkg for dependency package glibc-2.12-1.132.el6_5.3.i686

    解决:Could not find debuginfo pkg for dependency package glibc-2.12-1.132.el6_5.3.i686

    2022年1月19日
    66
  • mac ntfs 读写操作[通俗易懂]

    mac ntfs 读写操作[通俗易懂]发现mac系统无法对ntfs盘进行写操作,找到了解决办法,这里做个记录。1、在spotlight(就是那个放大镜图标)中输入“终端”二字,然后按enter。2、打开终端后输入diskutillist查看所有分区的卷标。[MacxdeMacBook-Pro:~Macx$diskutillist/dev/disk0(internal,physical):#:…

    2022年6月17日
    21
  • TransactionScope事务级别

    TransactionScope事务级别在TransactionScope中默认的事务级别是Serializable,即在事务过程中,完全性锁表。别的进程不能查询,修改,新增,删除。这样会导致效率大大降低,虽然数据完整性很高。通常我们不需要那么高的数据完整性。所以需要修改默认的事务级别 所有的事务级别如下Chaos无法改写隔离级别更高的事务中的挂起的更改。ReadCommitted不可以在事务期间读取可变

    2022年7月19日
    13
  • 关于堆栈区别的总结

    关于堆栈区别的总结堆栈的区别管理方式不同 栈 栈区空间由操作系统分配与释放 用于存储局部变量 函数参数等 堆 堆区空间由程序员自主分配与释放 空间大小不同 栈 栈的大小是固定的 不同的操作系统也不同 window 一般为 2M linux 下为 10M 堆 理论上可以分配虚拟地址空间大小的内存 分配效率不同 栈分配空间的效率更高 栈的擦偶哦在硬件层提供支持 分配专门的寄存器来存储栈的地址 压栈出

    2025年8月22日
    4
  • JS数组添加数据、数组排序、数组去重

    JS数组添加数据、数组排序、数组去重varData=[]; //后台请求返回的result.result.Table for(vari=0;i<Table.length;i++){ //一维数组 Data.push(Table[i].字段); //二维数组 Data.push(“value”:Table[i].字段); //多维数组 Table.push(Data); } //数组排序(从小到大) functionpup(Dat..

    2022年6月12日
    50
  • JAVA中Action层, Service层 ,model层 和 Dao层的功能区分

    JAVA中Action层, Service层 ,model层 和 Dao层的功能区分JAVA中Action层, Service层 ,model层 和 Dao层的功能区分

    2022年4月24日
    76

发表回复

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

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