vue打包js和css404,存在缓存

6 篇文章 0 订阅

前言

当vue打包文件部署到线上时,会出现.js,.css文件404的情况,因为缓存原因,加载的js和css是之前的js和css,此文章用前端方法解决清除缓存的问题

1.index.html插入如下代码

  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">

http-equiv=“pragma”: 说明:是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出
content=“no-cache”:设置过去时间
关于此属性疑问,请移步https://www.cnblogs.com/dreamaker/p/10576750.html
2.在根目录下新建vue.config.js

const Version = new Date().getTime()

module.exports = {
	css: {
	    loaderOptions: {
	      sass: {
	        data: `@import "@/components/themes/_handle.scss";`
	      }
	    },
	    // 是否使用css分离插件 ExtractTextPlugin
	    extract: {
	      // 修改打包后css文件名
	      filename: `static/css/[name].${Version}.css`,
	      chunkFilename: `static/css/[name].${Version}.css`
	    }
	 },
	 configureWebpack: {
		 output: { // 输出重构  打包编译后的 文件名称  【模块名称.版本号.时间戳】
		      // filename: utils.assetsPath('js/[name].[chunkhash].'+Version+'js'),
		      // chunkFilename: utils.assetsPath('js/[id].[chunkhash].'+Version+'js')
		      filename: `static/js/[name].${Version}.js`,
		      chunkFilename: `static/js/[name].${Version}.js`
		    }
	},
	chainWebpack(config) {
		// img的文件名修改
	    config.module
	      .rule('images')
	      .use('url-loader')
	      .tap(options => {
	        options.name = `static/img/[name].${Version}.[ext]`
	        options.fallback = {
	          loader: 'file-loader',
	          options: {
	            name: `static/img/[name].${Version}.[ext]`
	          }
	        }
	        return options
	      })
	}
}

完结,撒花!!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值