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

针对“vue多次打包后出现浏览器缓存的问题及解决”这个问题,我们可以采取以下两种方案:

方案一:添加hash

每次打包时,为打包的静态资源文件添加hash,这样即使文件内容不变,文件名字也会发生变化,避免浏览器缓存问题。

  1. 在vue.config.js配置文件中设置filenameHashing: true
module.exports = {
  filenameHashing: true, // 开启文件名哈希值
  // ...
}
  1. 在项目中引用静态资源时,使用 Vue CLI 自动生成的资源路径(如使用 import 导入的 CSS 文件), 这样打包时,Vue CLI 会自动为静态资源添加哈希值。
<template>
  <div>
    <img src="./assets/logo.png">
  </div>
</template>

这样就可以避免浏览器缓存问题了。

方案二:通过修改文件名来解决缓存问题

如果你的项目不能使用哈希的方式解决缓存问题,那么可以考虑通过修改静态资源的文件名来解决缓存问题。

  1. 在 vue.config.js 配置文件中设置 configureWebpack 选项,使用 webpack-rename-assets-plugin 插件,来为静态资源文件修改文件名。
const RenamePlugin = require('webpack-rename-assets-plugin')

module.exports = {
  configureWebpack: {
    plugins: [
      new RenamePlugin({
        originNameReg: /app.(.*).js/, // 匹配这个正则表达式的文件名
        targetName: 'app.[hash].js', // 将文件名替换成这个
      })
    ]
  }
}
  1. 在 html 模板页面中引用修改后的文件名。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My App</title>
  <link rel="stylesheet" href="/css/app.[hash].css"> <!-- 引用修改后的文件名 -->
</head>
<body>
  <div id="app"></div>
  <script src="/js/app.[hash].js"></script> <!-- 引用修改后的文件名 -->
</body>
</html>

这样,每次打包时,静态资源文件名会发生变化,就不会遇到浏览器缓存的问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue多次打包后出现浏览器缓存的问题及解决 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Java中LinkedList真的是查找慢增删快

    Java中的LinkedList是一种基于链表数据结构的集合,相比于ArrayList而言,LinkedList的插入和删除操作时线性的,而查找的过程是需要遍历整个链表的。因此,我们可以说LinkedList在插入和删除的操作上比ArrayList快,但在查找的操作上,却会比ArrayList慢。 以下是详细的攻略: LinkedList数据结构基础 Lin…

    other 2023年6月27日
    00
  • 魔兽世界4月2日服务器重启公告

    魔兽世界4月2日服务器重启公告攻略 背景 4月2日,魔兽世界官方宣布对服务器进行重启,为了更好的玩家体验和游戏稳定性,作出了这个决定。本攻略旨在帮助玩家了解重启过程和注意事项。 重启过程 1. 关闭游戏客户端 在重启开始前,玩家需要关闭正在运行的游戏客户端。否则可能会出现数据丢失等问题。 2. 关注官方消息 魔兽世界官方会发布具体的重启时间和服务器维护计划。…

    other 2023年6月27日
    00
  • Win11 21h2更新补丁 KB5027223(22000.2057)六月累积更新推送(附完整更新日志)

    Win11 21h2更新补丁 KB5027223(22000.2057)六月累积更新推送攻略 1. 简介 Win11 21h2更新补丁 KB5027223(22000.2057)是微软在六月份发布的累积更新补丁,旨在提供系统的稳定性和安全性改进。本攻略将详细介绍如何安装和应用该更新补丁,并附上完整的更新日志。 2. 安装更新补丁 按照以下步骤安装Win11 …

    other 2023年8月3日
    00
  • 解决360加密邮用户名密码验证失败的教程

    解决360加密邮用户名密码验证失败教程 问题现象 在使用360加密邮的过程中,部分用户反映出现了无法验证用户名和密码的问题。具体表现为输入正确的用户名和密码,但是仍提示验证失败,无法正常登陆。 原因分析 经过调查,发现该问题通常由以下原因引起: 360加密邮的验证服务出现故障或维护; 用户名或密码输入错误,导致验证失败; 浏览器缓存或Cookie问题。 解决…

    other 2023年6月27日
    00
  • Jquery实现自定义tooltip示例代码

    下面是JQuery实现自定义tooltip示例代码的完整攻略: 1. 获取JQuery库并引入 首先要在网站页面中获取JQuery库并引入到页面中: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></scrip…

    other 2023年6月25日
    00
  • Java为实体类动态添加属性的方法详解

    Java为实体类动态添加属性的方法详解 有时候我们需要在运行时动态地为实体类添加属性,以满足特定的业务需求。以下是实现这一目标的两种常见方法: 方法一:使用Map作为属性容器 可以使用一个Map对象作为实体类的属性容器,动态地向Map中添加属性。示例代码如下: public class DynamicEntity { private Map<Strin…

    other 2023年10月15日
    00
  • 微软拼音输入法无法记忆自定义输入词语原因及解决方法介绍

    微软拼音输入法无法记忆自定义输入词语原因及解决方法介绍 原因分析 微软拼音输入法无法记忆自定义输入词语的原因是它的本地词库文件出现了错误,导致无法正常工作。这种错误可能是由于输入法版本升级或者文件损坏导致的。 除此之外,有些杀毒软件和安全防护软件也可能会误将微软拼音输入法的本地词库文件当成病毒或木马进行删除或者隔离,也会导致输入法无法正常工作。 解决方法介绍…

    other 2023年6月27日
    00
  • oracle中闪回错误的dml操作原理

    Oracle中闪回错误的DML操作原理 在Oracle数据库中,我们经常需要对数据进行增删改查的操作。但是,有时候我们会不小心执行了一些错误的数据操作,例如误删了重要数据,或者错误地修改了数据。这时候,如果没有备份,我们可能会面临灾难性的后果。而这时候,Oracle中的“闪回”功能就能派上用场。本文将介绍Oracle中闪回功能的原理,以及如何通过闪回功能来纠…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部