vue多次打包后出现浏览器缓存的问题及解决

 更新时间:2022年08月03日 10:37:59   作者:君归乐  
这篇文章主要介绍了vue多次打包后出现浏览器缓存的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue多次打包后出现浏览器缓存

每次打包更新版本上传到服务器上,会偶尔出现代码没有更新还是旧代码的逻辑,这就代表浏览器存在缓存的问题了。

解决方案

vue-cli2

webpack .prod.conf.js 下修改output

const  Timestamp = new Date().getTime();

output: {
    path: config.build.assetsRoot,
    filename: utils.assetsPath('js/[name].[chunkhash].'+Timestamp+'js'),
    chunkFilename: utils.assetsPath('js/[id].[chunkhash].'+Timestamp+'js')
}

vue-cli3

vue.config.js 下修改/添加output

const  Timestamp = new Date().getTime();

configureWebpack: {
    output: { 
       filename: 'js/[name].'+Timestamp+'.js',
       chunkFilename: 'js/[name].'+Timestamp+'.js'
    }
}

接下来就是打包好,就会发现打包出来的文件都有哈希值啦,就不会出现缓存问题啦,保证每次都是最新的。

使用hash解决vue浏览器的缓存

缓存问题

第一次打包,生成一个bundle.js,在index.html引入bundle.js文件,页面加载,它会把bundle.js缓存到浏览器本地。

这是浏览器的缓存机制。当我们又重新打包了,由于文件名还是bundle.js,浏览器就可能从缓存中获取,因为浏览器发现这个bundle.js,在浏览器的缓存中有,缓存中有,就走缓存。从缓存中获取上一次打包的结果。

怎么解决缓存问题

之所以有缓存是由于文件名或url名是一样的,只有一样了,浏览器才会偷懒,从缓存中获取资源,如果url名或文件名不一样,肯定不会走缓存,浏览器会当成一个新资源。

解决办法

打包时 指定 出口 文件名每一次都不一样。

在webpack中有一个hash的东西:

hash可以保存每一次的值都是不一样的。

filename:"bundle.[hash].js",  这样定,每一次生成的打包后文件名就不一样了。

注意:

当hash 用于开发打包时会打包成不同名字的文件,但是用于打包生产模式时的文件时不会生成不同的文件名。

因为生产时只需要发布时打包一次就行了。而开发时需要多次打包。

效果如下:(打包后的文件后面多了一串字符) 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • Vue 固定头 固定列 点击表头可排序的表格组件

    Vue 固定头 固定列 点击表头可排序的表格组件

    这篇文章主要介绍了Vue 固定头 固定列 点击表头可排序的表格组件的相关资料,需要的朋友可以参考下
    2016-11-11
  • vue下拉刷新组件的开发及slot的使用详解

    vue下拉刷新组件的开发及slot的使用详解

    这篇文章主要介绍了vue下拉刷新组件的开发及slot的使用详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • vue :src 文件路径错误问题的解决方法

    vue :src 文件路径错误问题的解决方法

    这篇文章主要介绍了vue :src 文件路径错误问题的简单解决方法,本文分步骤给大家介绍的非常详细,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • Vue事件的基本操作你知道吗

    Vue事件的基本操作你知道吗

    这篇文章主要为大家详细介绍了Vue事件的基本操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Vue中使用Scss实现配置、切换主题方式

    Vue中使用Scss实现配置、切换主题方式

    这篇文章主要介绍了Vue中使用Scss实现配置、切换主题方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 基于vue实现pdf预览功能

    基于vue实现pdf预览功能

    随着互联网的发展,PDF 文件在信息交流和文档分享中起着重要的作用,通过在 Vue 组件中实现 PDF 预览功能,我们可以为用户提供便捷的内容阅读体验,下面我们就来看看具体实现方法吧
    2023-08-08
  • 全面解析vue中的数据双向绑定

    全面解析vue中的数据双向绑定

    这篇文章主要介绍了vue中的数据双向绑定问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • 浅谈Vue+Ant Design form表单的一些坑

    浅谈Vue+Ant Design form表单的一些坑

    本文主要介绍了浅谈Vue+Ant Design form表单的一些坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Vue使用Echarts实现横向柱状图,并通过WebSocket即时通讯更新

    Vue使用Echarts实现横向柱状图,并通过WebSocket即时通讯更新

    这篇文章主要介绍了Vue使用Echarts实现横向柱状图,并通过WebSocket即时通讯更新方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Vue3 + elementplus实现表单验证+上传图片+ 防止表单重复提交功能

    Vue3 + elementplus实现表单验证+上传图片+ 防止表单重复提交功能

    这篇文章主要介绍了Vue3 + elementplus 表单验证+上传图片+ 防止表单重复提交,本文给大家展示效果图和完整代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10

最新评论