vue项目强制清除页面缓存的例子

要强制清除页面缓存,可以通过添加版本号或者随机字符串的方式来实现。

添加版本号

  1. 在vue.config.js文件中的output选项中添加chunkFilename配置项来配置生成的chunk文件名:
output: {
    filename: "js/[name].[hash:8].js",
    chunkFilename: "js/[name].[hash:8].[chunkhash:8].js",
},

其中,[chunkhash:8]是表示chunkhash值只保留前8位。chunkhash值是根据文件内容生成的,只要文件内容不变,该值就不变。

  1. 在index.html中获取chunk文件的引用路径时,在filename后面加上query参数?v=加上版本号或者时间戳等:
<script src="js/app.xxxxxxx.js?v=1.0.0"></script>
<script src="js/chunk1.xxxxxxx.js?v=1.0.0"></script>
<script src="js/chunk2.xxxxxxx.js?v=1.0.0"></script>

这样每次发布新版本时,只需要修改query参数即可。

添加随机字符串

  1. 在vue.config.js文件中的output选项中添加chunkFilename配置项来配置生成的chunk文件名:
output: {
    filename: "js/[name].[hash:8].js",
    chunkFilename: "js/[name].[hash:8].[chunkhash:8].js",
},
  1. 在index.html中获取chunk文件的引用路径时,在filename后面加上随机字符串,这里可以通过工具函数产生一个随机字符串:
<script src="js/app.xxxxxxx.js?v=<%= getRandomStr(6) %>"></script>
<script src="js/chunk1.xxxxxxx.js?v=<%= getRandomStr(6) %>"></script>
<script src="js/chunk2.xxxxxxx.js?v=<%= getRandomStr(6) %>"></script>

其中<%= %>是EJS的语法,表示在运行时执行该表达式,getRandomStr(6)是一个工具函数,用来生成6位随机字符串。

这样,每次加载页面时,随机字符串会发生变化,浏览器就会重新请求资源,从而实现强制清除缓存的效果。

以上是两种设置强制清除缓存的方式,可以根据自己的需要灵活选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue项目强制清除页面缓存的例子 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue3.0生命周期的示例代码

    首先,需要说明的是Vue 3.0的生命周期函数与Vue 2.x版本有所不同,具体地,Vue 3.0之前的版本生命周期分为8个部分,而Vue 3.0则只有6个部分。此外,Vue 3.0的生命周期函数名称也有所变化。下面,我们来介绍Vue 3.0的生命周期函数。 beforeCreate 这个阶段是在组件实例化之前,此时组件的数据和方法都没有被初始化,因此在这个…

    Vue 2023年5月28日
    00
  • Vue使用formData格式类型上传文件的示例

    下面是“Vue使用formData格式类型上传文件的示例”的完整攻略。 1. 什么是formData格式类型上传文件 在前端上传文件时,一般需要将文件的二进制数据转换为一种可被后端接收的格式,最常用的格式有form-data和base64编码。其中最常用的方法是使用form-data格式。formData格式是一种键值对的格式,每一个键对应一个值,值可以是字…

    Vue 2023年5月28日
    00
  • vue中的vendor.js文件过大问题及解决

    问题描述: 在使用 Vue 应用构建时,有时会遇到 vendor.js 文件过大的问题,导致应用加载速度缓慢,用户体验受到影响,那么如何解决这个问题呢? 问题分析: Vue 应用在打包的时候,会抽取第三方库和模块到一个名为 vendor.js 的文件中,这个文件包含了所有在项目中被使用的第三方库和模块,如果这些库和模块很多,那么 vendor.js 文件会变…

    Vue 2023年5月28日
    00
  • Vue使用watch监听数组或对象

    当我们想要监听Vue实例中的属性变化时,我们往往会使用watch来完成,这是Vue提供的强大特性之一。但是,当我们需要监听Vue实例中的数组或对象的变化时,watch就会显得有些无力了。那么,如何使用watch来监听数组和对象的变化呢?在本文中,我将详细讲解Vue如何使用watch监听数组或对象。 监听数组 当我们需要监听一个数组时,Vue提供了一个特殊的方…

    Vue 2023年5月28日
    00
  • 基于Vue生产环境部署详解

    基于Vue生产环境部署详解 在将Vue应用从开发环境部署到生产环境时,需要经过一系列的步骤。下面是一个基于Vue的生产环境部署详解。 步骤一:将应用打包 要将Vue应用转换为生产环境,需要先通过Webpack将其打包成一个静态文件。首先,安装以下依赖库: npm install webpack webpack-cli –save-dev 创建一个Webpa…

    Vue 2023年5月27日
    00
  • vue watch自动检测数据变化实时渲染的方法

    当Vue实例中的数据发生变化时,自动重新渲染视图是Vue响应式系统中最强大的功能之一。Vue提供了一种名为“watch”的特性,允许我们监测数据变化,当数据发生变化时,执行相应的回调函数。这个特性非常适用于处理异步操作、表单输入以及任何需要在特定数据变化时执行特定操作的情况。 以下是vue watch自动检测数据变化实时渲染的方法的完整攻略: 1. 创建一个…

    Vue 2023年5月29日
    00
  • Vite使用Esbuild提升性能详解

    Vite使用Esbuild提升性能详解 背景 Vite是一个轻量级的前端工具,它的设计初衷是为了让开发者更快地启动和构建项目,提供了一些开箱即用的特性和优化,例如快速启动、模块热更新等。其中,Vite的关键特性之一就是使用了类似于Snowpack的“零配置”的模式进行快速的开发体验。 然而,在一些情况下,Vite的构建速度还是无法满足一些开发者的需求。因此,…

    Vue 2023年5月28日
    00
  • javascript 进阶篇3 Ajax 、JSON、 Prototype介绍

    JavaScript 进阶篇3:Ajax、JSON、Prototype介绍 本文将向你介绍 JavaScript 中常用的 Ajax、JSON、Prototype 相关概念以及用法。 Ajax Ajax 是 Asynchronous JavaScript and XML 的简写,意为“异步 JavaScript 和 XML”。它是一种用于创建快速动态网页的技…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部