使用Laravel Mix清除缓存

3
当我不使用mix.version()时,我的CSS + JS被缓存 - 这意味着刷新不会使用最新编译的资源。然而,阅读Laravel文档,他们陈述了以下内容:
“因为版本化文件通常在开发中是不必要的,所以您可以指示版本处理仅在npm run production期间运行。”
如何在本地文件更改时破坏缓存? https://laravel.com/docs/5.5/mix#versioning-and-cache-busting

3
你使用Chrome浏览器吗?在“开发者工具”中的“网络”选项卡下,你可以禁用缓存。 - Derek Pollard
2
请注意,只有在开发者工具打开时缓存才会被禁用。 - Derek Pollard
不知为何,在添加/删除mix.version()后,Chrome开始提供新的文件,即使mix.version()已经不存在了...有人知道这是怎么回事吗? - emanuel cristian Mocean
要么使用版本,要么强制刷新缓存(您可以使用Ctrl + F5)。 - Tofandel
2个回答

1
我知道这是一篇旧文章。但解决这个问题的方便方法是每次页面加载时设置新请求。我通常通过在CSS链接中添加随机ID来处理此问题。 <link rel="stylesheet" href="{{ mix('css/app.css') . "?id=" . Str::random(16) }}"> 这种方式将为您提供未缓存的CSS,因为链接始终在变化。

-1

2
你不能为每个客户都这样做。 - Walter Cejas
大多数浏览器都允许您禁用缓存。请取消您的踩。Firefox: https://dzone.com/articles/how-turn-firefox-browser-cacheSafari: https://dev59.com/ZFYO5IYBdhLWcg3wHeH_ - Fredrik
这是关于开发的问题,因此答案也是如此。在我看来是一个有效的答案,但可能需要更完整些。 - Tofandel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接