Vue CLI webpack配置属性——filenameHashing
filenameHashingType: booleanDefault: true用途设置打包生成的的静态资源的文件名中是否加入hash以便控制浏览器缓存问题。用法module.exports = {publicPath: './', // 基本路径outputDir: 'dist', // 输出文件目录assetsDir: './assets',indexPath: 'index.html',f
filenameHashing
Type: boolean
Default: true
用途
设置打包生成的的静态资源的文件名中是否加入hash以便控制浏览器缓存问题。
用法
module.exports = {
publicPath: './', // 基本路径
outputDir: 'dist', // 输出文件目录
assetsDir: './assets',
indexPath: 'index.html',
filenameHashing: true, // 生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存
}
效果如下:
文件名hash是有一个默认为true的值,如果在配置文件vue.config.js中不写,则默认为true。
生成的代码如下,对js的文件引用都变成了hash之后的文件名,
在开发时,如果不想用文件夹hash,则指定此选项为false即可
拓展
什么是浏览器缓存问题?
浏览器加载静态文件机制:当浏览器去加载一个页面的静态文件时,浏览器会先去缓存查找当前域名是否已存在这个文件。如果存在,则直接读取缓存里的文件,而不再向服务器请求该资源。浏览器这样的设定减少了请求资源的占用,同时也加快页面的加载速度。这样看来时非常不错的设定。但是,因为这个缓存问题,开发人员就会遇到这样一个问题:当我们开发人员对某个静态文件(如:css、js)修改后,再到浏览器一跑,发现修改并没有起效。
满脸疑惑有没有?
出现这个问题就是浏览器缓存导致的了。
要解决这个问题,我们就要保证每次改动后生成的文件不能与浏览器缓存中的文件名一致就可以了。因此,常用的方法就是给文件名添加一段随机数(hsah就是随机数的一种)。
当然啦!我们也可以手动去清除浏览器的缓存。但是,用户并不知道呀!
更多推荐
所有评论(0)