【前端】Vue 部署上线清除浏览器缓存的方式

这篇具有很好参考价值的文章主要介绍了【前端】Vue 部署上线清除浏览器缓存的方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【前端】Vue 部署上线清除浏览器缓存的方式

修改根目录index.html

在 head 里面添加下面代码

1

2

<meta http-equiv="pragram" content="no-cache">

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

 

配置 nginx 不缓存 html

vue默认配置,打包后css和js的名字后面都加了哈希值,不会有缓存问题。但是index.html在服务器端可能是有缓存的,需要在服务器配置不让缓存index.html

1

2

3

4

5

6

7

8

9

10

11

12

13

14

server {

listen 80;

server_name yourdomain.com;

location / {

    try_files $uri $uri/ /index.html;

    root /yourdir/;

    index index.html index.htm;

    if ($request_filename ~* .*\.(?:htm|html)$)

    {

        add_header Cache-Control "no-cache, no-store"//对html文件设置永远不缓存

    

  }

}文章来源地址https://www.toymoban.com/news/detail-492214.html

  • no-cache浏览器会缓存,但刷新页面或者重新打开时 会请求服务器,服务器可以响应304,如果文件有改动就会响应200
  • no-store浏览器不缓存,刷新页面需要重新下载页面

打包的文件路径添加时间戳

1、在 vue-cli2.x 创建的项目里,找到 build/webpack.prod.conf.js 文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

//定义一个变量获取当前时间戳

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

//output模块将时间戳加入到输出的文件名里

output: {

  publicPath: '/',

  path: config.build.assetsRoot,

  filename: utils.assetsPath(`js/[name].[chunkhash].${version}.js`),

  chunkFilename: utils.assetsPath(`js/[id].[chunkhash].${version}.js`)

},

//css文件名加时间戳

new ExtractTextPlugin({

    filename: utils.assetsPath(`css/[name].[contenthash].${version}.css`),

    allChunks: true,

}),

2、在 vue-cli3.x 创建的项目里,打开 vue.config.js 文件 ( 没有该文件自己在 src 同级目录下创建一个 )

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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

module.exports = {

    outputDir: 'dist', //打包的时候生成的一个文件名

    lintOnSave: false,

    productionSourceMap: false,

    css: {

        loaderOptions: {

          sass: {

            data: `@import "@/components/themes/_handle.scss";`

          }

        },

        // 是否使用css分离插件 ExtractTextPlugin

        extract: {

          // 修改打包后css文件名   // css打包文件,添加时间戳

          filename: `css/[name].${version}.css`,  

          chunkFilename: `css/[name].${version}.css`

        }

     },

    configureWebpack: {

        output: { // 输出重构  打包编译后的 文件名称  【模块名称.版本号.时间戳】

             filename: `js/[name].[chunkhash].${version}.js`,

             chunkFilename: `js/[id].[chunkhash].${version}.js`

        }

    }

}

到了这里,关于【前端】Vue 部署上线清除浏览器缓存的方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浏览器缓存引发的odoo前端报错

    前两天,跑了一个odoo16项目,莫名其妙的前端报错, moment.js 报的错, 这是一个时间库,不是我自己写的代码,我也没做过任何修改,搞不清楚为什么报错。以为是odoo的bug,所以从gitee下载了odoo16最新的代码,测试了一下还是报错。 后来换成了一个非常老的odoo16版本,这回不

    2024年02月02日
    浏览(51)
  • 前端浏览器缓存知识梳理,前端工程师面试题目和答案

    所谓浏览器缓存其实就是指在本地使用的计算机中开辟一个内存区,同时也开辟一个硬盘区作为数据传输的缓冲区,然后用这个缓冲区来暂时保存用户以前访问过的信息。 浏览器缓存过程:  强缓存,协商缓存。 浏览器缓存位置一般分为四类:  Service Worker–Memory Cache–Di

    2024年04月15日
    浏览(48)
  • 前端浏览器缓存的好处和弊端以及如何处理弊端

    好处: 减少冗余的数据传输,节省带宽。 减轻服务器的请求压力,因为有缓存可以减少向服务器发送请求, 资源从缓存中读取,加快客户端的访问速度。因为无需从服务器请求等待响应 缺点: 系统更新时,如何删除浏览器的缓存资源,加载最新的页面。 Service Worker:是一

    2024年02月12日
    浏览(49)
  • 【Vue】浏览器缓存sessionStorage、localStorage、Cookie

    目录 一、sessionStorage 1、简介 2、方法 3、代码示例 a、存取单个数据 b、存取对象 c、清除数据 二、localStorage 1、简介 2、方法 3、代码示例 三、cookie 1、简介 2、方法 3、代码示例 四、三者区别 1、sessionStorage与localStorage区别 2、sessionStorage、localStorage、cookie区别 五、往期相关优

    2024年02月07日
    浏览(36)
  • vue项目发版后清理浏览器缓存代码

    1、在index.html中添加代码 2、在main.js中清理本地缓存 3、使用  webpack  插件来实现自动添加版本号

    2024年02月03日
    浏览(46)
  • webpack项目和vue项目发布,浏览器存在缓存

    项目打包的js(css也是一致)名称都采用哈希值 问题:哈希值在有些情况下打包会不变,导致浏览器使用自己缓存的资源 解决:每次打包出来增加时间戳每次打包后的js名称都不一致 1.js处理 每个项目的打包逻辑都不一样,根据package.json中的打包指令找到执行的文件修改 st

    2024年02月16日
    浏览(41)
  • 细说前端打包发布后,浏览器缓存如何清理?其实只需要简单的webpack配置就行

    有没有这么一种场景,项目上线后,客户使用过程中发现了bug,你急急忙忙改完,发布。但你发布后 测试人员或者客户会说:“你这改了没用啊”。 你:“清下缓存试试” 客户:“????” 那么这篇文章带你认识浏览器缓存,及清除浏览器的缓存办法。让你不再为了缓存

    2024年02月09日
    浏览(59)
  • vue项目版本打包更新后文件及浏览器存在缓存问题解决方案

    在vue.config.js中配置output,打包后的文件会带时间戳 在public/static目录下新建version.json文件  在src中新建 utils文件夹 文件夹中新建versionUpdate.js文件  在src文件夹下创建addVersion.js  写法二 修改package.json中scripts中的打包命令 版本号自加使用fs修改文件来实现 具体思路是:在执行

    2024年02月11日
    浏览(43)
  • nginx部署前端项目后刷新浏览器报错404

    问题: Vue项目打包部署Nginx服务器后,刷新页面后出现404的问题。 原因: 加载单页应用后路由改变均由浏览器处理,而刷新时将会请求当前的链接,而Nginx无法找到对应的页面。 解决:在Nginx配置文件nginx.conf中加入如下配置:  try_files $uri $uri/ /index.html; # 变量解释 try_fil

    2024年02月12日
    浏览(44)
  • vue解决浏览器中跳转新页面缓存上一页表单等内容方法

    在工作中,有可能会遇到需要缓存页面或组件的功能。 情况1 :比如在h5中有个一个50个表单,在填到第40个表单时,需要你去另一个新页面去选择列表项,然后把数据带回来。需要我们不仅把数据带回来还要保留前面已经填好的40个表单内容不被重置。 此功能在微信小程序是

    2024年02月08日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包