疑问???
疑问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