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

yizhihongxing

针对“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日

相关文章

  • React中使用UMEditor的方法示例

    为了方便理解,我将分为以下几个部分来讲解React中使用UMEditor的方法示例。 1. 简介 UMEditor是一款基于JavaScript的所见即所得富文本编辑器,支持多种平台和浏览器。同时,React是一款非常流行的JavaScript库,用于构建用户界面。 在React应用中,如果需要使用UMEditor,可以选择以下两种方法: 使用已经封装好的R…

    other 2023年6月27日
    00
  • 如何批量重命名文件名 一个F2即可全部搞定

    如何批量重命名文件名 如果你要批量重命名文件名,Windows操作系统提供了一个快速的方法来完成这项任务。你只需要按下F2键,然后修改第一个文件名,其余的文件名将按照递增数字进行改变。以下是详细步骤: 选中您要重命名的文件,可以使用鼠标或键盘来多选文件。 按下F2键,此时文件名处于编辑模式。 修改第一个文件名为您需要的名称,然后按下回车键。 系统将自动为您重…

    other 2023年6月26日
    00
  • springBoot解决static和@Component遇到的bug

    Spring Boot解决Static和@Component遇到的Bug攻略 在使用Spring Boot开发应用程序时,有时会遇到Static资源和@Component注解的一些常见问题。这些问题可能导致静态资源无法正确加载或@Component注解无法正常工作。下面是解决这些问题的完整攻略。 问题1:Static资源无法加载 问题描述 当使用Spring…

    other 2023年8月6日
    00
  • Android 获取判断是否有悬浮窗权限的方法

    Android 获取判断是否有悬浮窗权限的方法 在Android开发中,判断是否有悬浮窗权限是一个常见的需求。下面是一种获取并判断悬浮窗权限的方法: 首先,在AndroidManifest.xml文件中添加悬浮窗权限声明: <uses-permission android:name=\"android.permission.SYSTEM_AL…

    other 2023年9月7日
    00
  • vue中使用elementui实现树组件tree右键增删改功能

    Vue中使用ElementUI实现树组件Tree右键增删改功能,需要以下步骤: 安装ElementUI 在项目中使用ElementUI,需要先安装ElementUI库。可以使用npm安装,具体命令为: npm install element-ui –save 引入ElementUI 在Vue项目中引入ElementUI,需要在main.js中加入以下代码:…

    other 2023年6月27日
    00
  • 详解C语言内核字符串转换方法

    详解C语言内核字符串转换方法 在C语言中,字符串是一种非常重要的数据类型,而字符串的转换也是程序中常见的操作。本文将详细讲解C语言中内核字符串转换的方法。 atoi和atof 在C语言中,可以使用atoi和atof来进行字符串和数字之间的转换。atoi可以将一个字符串转换成int类型,而atof则可以将一个字符串转换成float类型。 下面是atoi和ato…

    other 2023年6月20日
    00
  • 漫游配置文件和本地配置文件有啥区别? Win11快速禁用漫游配置文件的技巧

    当我们在使用 Microsoft 帐户登录到 Windows 11 时,默认情况下会开启“漫游用户个人设置(Roaming user profiles)”功能。这个功能会将用户的个人设置和文件自动上传到 Microsoft 云端,同时也可以在不同的设备上同步用户的设置和文件。这就是漫游配置文件。 与之相对应的是本地配置文件,也就是不与任何云服务同步的用户配置…

    other 2023年6月25日
    00
  • Easyui在treegrid添加控件的实现方法

    下面是关于EasyUI在treegrid添加控件的实现方法的详细攻略: 1. 引入EasyUI相关文件 在网页中引入EasyUI相关文件,包括jQuery、EasyUI CSS和EasyUI JS。 <!–引入jQuery文件–> <script type="text/javascript" src="jq…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部