vue前端更新后需要清空缓存

场景:前端vue3网站项目使用wepack打包后进行部署,但是用户浏览器访问网站时加载了缓存,导致没有及时更新。

现在需要一个解决方案保证每次重新打包部署后,用户浏览器访问网站重新加载js和css,但是未更新还是继续使用缓存加快加载速度。

1、配置nginx不缓存index.html

index.html文件很小,不缓存的话也不会造成很大影响

javascript 复制代码
server {
    listen 80;
    server_name yourdomain.com;
    location / {
        try_files $uri $uri/ /index.html;
        root /yourdir/;
        index index.html index.htm;
 
        //对html htm文件设置永远不缓存
        if ($request_filename ~* .*\.(?:htm|html)$) {
            add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-    revalidate";
        }     
      }
}

2、配置vue.config.js项目webpack为js和css文件增加引用版本号

打包后index.html中引用js和css文件都会带上 ?v=时间戳

这样js和css更新后因为时间戳不一样,会重新加载文件

javascript 复制代码
const timestamp = new Date().getTime()

module.exports = defineConfig({
    css: {
        extract: {
            // 修改输出css目录名及文件名
            filename: `css/[name].css?v=${timestamp}`,
            chunkFilename: `css/[name].css?v=${timestamp}`,
        }
    },
    configureWebpack: {
        output: {
            // 修改输出js目录名及文件名
            filename: `js/[name].js?v=${timestamp}`,
            chunkFilename: `js/[name].js?v=${timestamp}`,
        },
    },
})
相关推荐
shimh_凉茶6 分钟前
webpack+vue2打包分析视图插件 webpack-bundle-analyzer
前端·webpack·node.js
P***25397 分钟前
JavaScript部署
开发语言·前端·javascript
一只小阿乐18 分钟前
react 状态管理mobx中的行为模式
前端·javascript·react.js·mobx·vue开发·react开发
l***O52021 分钟前
前端路由历史监听,React与Vue实现
前端·vue.js·react.js
超级战斗鸡22 分钟前
React 性能优化教程:useMemo 和 useCallback 的正确使用方式
前端·react.js·性能优化
bemyrunningdog22 分钟前
创建 React 项目指南:Vite 与 Create React App 详
前端·react.js·前端框架
大雷神32 分钟前
DevUI 实战教程:从零构建电商后台管理系统(完整版)
前端·javascript·华为·angular.js
come1123434 分钟前
现代前端技术栈关系详解 (PHP 开发者特供版)
开发语言·前端·php
合作小小程序员小小店38 分钟前
web网页开发,在线%图书管理%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·后端·mysql·jdk·intellij-idea
滿1 小时前
vue3 elementplus el-table toggleRowSelection使用方法
javascript·vue.js·elementui