当前位置: 首页 > article >正文

webpack项目和vue项目发布,浏览器存在缓存

项目是webpack搭建的每次发步到线上,经常需要手动清楚浏览器缓存才能有效果。vue项目设置在最下面

项目打包的js(css也是一致)名称都采用哈希值
在这里插入图片描述
问题:哈希值在有些情况下打包会不变,导致浏览器使用自己缓存的资源

解决:每次打包出来增加时间戳每次打包后的js名称都不一致

  • 1.js处理 每个项目的打包逻辑都不一样,根据package.json中的打包指令找到执行的文件修改 static是本地静态资源的文件夹
let time = new Date().getTime()
output: {
    path: config.build.assetsRoot,
    filename: `static/js/[name].[chunkhash:8].${time}.js`,
    chunkFilename:`static/js/[name].[chunkhash:8].${time}.js`
  },

在这里插入图片描述

  • 2.css处理 可以使用css分离插件 MiniCssExtractPlugin
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

plugins:[
new MiniCssExtractPlugin({
      filename: `static/css/[name].[contenthash:8].${time}.css`,
      chunkFilename:  `static/css/[name].[contenthash:8].${time}.css`,
    }),
]

打包结果

在这里插入图片描述

测试
打开线上环境 发现资源是缓存的 从network在这里插入图片描述

然后我们发布下
在这里插入图片描述

vue项目处理其实一样,改打包输出的名字
vue.config.js

time 时间戳
  
module.exports = {
	configureWebpack: {
    output: {
      filename: `js/[name].${time}.js`,
      chunkFilename: `js/[name].${time}.js`,
     
    },
    
  },

 chainWebpack: config => {
		config.plugins.delete("prefetch");
    config.plugin("extract-css").tap((args) => [
      {
        filename: `css/[name].${time}.css`,
        chunkFilename: `css/[name].${time}.css`,
      },
    ]);

	}


}


http://www.kler.cn/a/37420.html

相关文章:

  • 阿里云服务器安装mysql并用idea连接
  • 5.EFLK(ELK+filebeat)+filter过滤
  • (数学)+(二分)
  • C++ Primer Plus笔记: 2023.07.14
  • 图像分类论文阅读
  • ubuntu无法定位软件包 tfpd-hpa
  • Jupyter Notebook 的快捷键
  • Ghostscript开源PDF库中发现关键漏洞
  • 初识c语言
  • node-red安全部署方式-安全登录功能
  • 音频采样器 Native Instruments Kontakt7 forMac/Windows图文安装教程
  • pycharm 配置docker: ssh连接
  • H3C-Cloud Lab实验-NAT实验
  • 《《《总结》》》PCL的42个实例整理:25~42
  • 【STM32MP135】修复10.1寸屏显示异色问题,添加极性配置
  • P5 第二章 电阻电路的等效变换
  • windows 编译libyuv
  • 奥特曼与钢铁侠【InsCode Stable Diffusion美图活动一期】
  • 【数据结构常见七大排序(二)】—选择排序篇【直接选择排序】And【堆排序】
  • 事务@transactional执行产生重复数据