vue cli3基于时间戳清除浏览器缓存

该博客介绍了一个基于Vue的项目配置,通过在webpack中引入mini-css-extract-plugin并生成时间戳,实现了每次发布后自动更新js和css文件名,从而避免因浏览器缓存导致的页面错误和接口调用失败。主要步骤包括:生成时间戳、指定文件名添加时间戳、更改输出路径和打包地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.问题描述

基于vue的项目在每次发布后,需手动清除浏览器缓存,才能显示最新的页面与调用最新的接口,否则页面出错,函数调用不成功。

2.生成时间戳

const Timestamp = new Date().getTime();

2.引入mini-css-extract-plugin

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

3.指定js文件地址与文件名添加时间戳

output: {
		//修改打包后js名:名称 + 时间戳
          filename: `static/js/[name].${Timestamp}.js`,
          chunkFilename: `static/js/[name].${Timestamp}.js`
        }

4.指定css文件地址与文件名添加时间戳

plugins: [
      new MiniCssExtractPlugin({
        // 修改打包后css文件名:名称 + 时间戳
        filename: `static/css/[name].${Timestamp}.css`,
        chunkFilename: `static/css/[name].${Timestamp}.css`
      }),
    ],

5.更改其更改路径,输出路径,打包地址

	publicPath: './',//公共路径
    outputDir: 'dist',//打包文件名称
    assetsDir: 'static'//css、js、img资源打包路径地址

6.全部代码

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const Timestamp = new Date().getTime();
// 使用等比适配插件
module.exports = {
  configureWebpack: {
    plugins: [
      new MiniCssExtractPlugin({
        // 修改打包后css文件名
        filename: `static/css/[name].${Timestamp}.css`,
        chunkFilename: `static/css/[name].${Timestamp}.css`
      }),
    ],
    output: {
          filename: `static/js/[name].${Timestamp}.js`,
          chunkFilename: `static/js/[name].${Timestamp}.js`
        }
    },
  publicPath: './',
  outputDir: 'dist',
  assetsDir: 'static'
}

### 清除 Vue CLI 项目中的缓存 对于不同版本的 Vue CLI清除缓存的方法有所不同。 #### 对于 Vue CLI 3 及以上版本 Vue CLI 3 提供了一个简单的命令来清理缓存: ```bash vue cache clear ``` 这条命令将会清空 `node_modules/.cache` 文件夹下的所有内容[^1]。 #### 对于 Vue CLI 2 版本 由于 Vue CLI 2 并没有内置类似的命令用于直接清除缓存,因此可以通过手动方式处理。一种常见的做法是在构建配置中加入时间戳作为资源文件的一部分,以此防止浏览器加载旧版静态资源。具体操作如下: - 修改 `build/webpack.prod.conf.js` 文件,在头部添加版本号变量: ```javascript const version = new Date().getTime(); ``` - 接着找到 `new HtmlWebpackPlugin` 实例化的地方,并在其模板参数里加上这个版本号,比如通过设置 `filename` 属性为带有查询字符串的形式,像这样: ```javascript filename: 'index.html?v=' + version, ``` 这样做可以有效解决因为缺少版本控制而导致的浏览器缓存问题[^2]。 另外需要注意的是,如果想要彻底清除本地依赖包以及重新安装最新状态,则还需要执行以下额外步骤: - 删除 `node_modules` 文件夹; - 移除 `package-lock.json` 或者 `yarn.lock` 文件(取决于使用的包管理工具); - 最后再运行 `npm install` 或者 `yarn` 来重建整个环境。 这些措施能够帮助开发者确保每次部署都是最新的代码版本,从而避免不必要的麻烦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值