三、为什么会HTTP缓存--如何解决:由于文件打包之后无法区分最新文件,会存在缓存问题---时间戳--hash--chunkhash--contenthash-演变过程

疑问???

疑问1: 怎么样 才会触发缓存机制呢???

首先浏览器加载 www.baidu.com/static/a.js
然后再加载 www.baidu.com/static/b.js 会不会命中缓存(???)
再加载 www.baidu.com/static/a.js 会不会命中缓存(???)
浏览器的缓存(一般针对静态资源的,如html,css,js文件)策略就是 服务器的文件路径 还有文件名 完全一样的时候 才会触发缓存机制

疑问2: 缓存什么时候会更新???

 强缓存 / 协商缓存、

疑问3:哪些文件需要强缓存,哪些需要协商缓存

一、npm run serve 时,如何给app.js 增加版本号??

在这里插入图片描述

1、如果有vue.config.js文件,配置如下:
// 版本号
const Version = new Date().getTime();
const  path = require('path')
module.exports = {
  configureWebpack: {
    entry: './src/main.js',
    output: {
      path: path.resolve(__dirname, './dist'),
      filename:  'static/js/[name].'  +  Version  +  '.js', 
    },
  }
}

二、如果使用时间戳,npm run serve时,生成main文件,再次修改之后还是不会改变(此时已经进行了缓存),

新问题??每次重新修改文件,页面更新会不及时

在这里插入图片描述

再次 npm run serve,main文件发生改变

在这里插入图片描述

三、如果使用hash,只要有内容修改,就会重新生成hash值

新问题??修改a.js文件,所有的文件都会更新,太浪费资源,能不能只更新a.js文件,其它的文件在缓存中读取。

在这里插入图片描述
以下生成hash文件的方式,请查看其他博主: hash、 chunkhash 和 contenthash

三、hash

四、chunkhash

五、contenthash

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值