【问题标题】:Bust Cache with Laravel Mix使用 Laravel Mix 进行胸围缓存
【发布时间】:2018-06-15 11:19:57
【问题描述】:

当我使用 mix.version() 时,我的 CSS + JS 被缓存 - 这意味着刷新不使用最新编译的资产。但是,阅读 Laravel 的文档时,他们声明如下:

因为版本控制文件通常在开发中是不必要的,所以您 可以指示版本控制过程仅在 npm run 期间运行 生产

https://laravel.com/docs/5.5/mix#versioning-and-cache-busting

每次我的本地文件更改时,我会如何破坏缓存?

【问题讨论】:

  • 你用铬吗?在“网络”选项卡下的开发者工具中,您可以禁用缓存
  • 另请注意,只有在开发者工具打开时才会禁用缓存。
  • 由于某种原因,在添加/删除 mix.version() 之后,Chrome 开始提供新文件,即使 mix.version() 不再存在......有人知道它是如何工作的吗?
  • 好吧要么使用版本,要么强制刷新缓存(你可以使用ctrl+F5)

标签: laravel laravel-mix


【解决方案1】:

我知道这是旧帖子。但该问题的便捷解决方案是为每个页面加载设置新请求。我通常通过在 css 链接中添加随机 id 来处理这个问题。

<link rel="stylesheet" href="{{ mix('css/app.css') . "?id=" . Str::random(16) }}">

这种方式会给你未缓存的css,因为链接总是在变化的。

【讨论】:

    【解决方案2】:

    在 Chrome 的开发者工具中,我点击了禁用缓存,它就是这样做的。

    火狐: https://dzone.com/articles/how-turn-firefox-browser-cache

    Safari: How do I disable cache in Safari 11.0?

    【讨论】:

    猜你喜欢
    • 2019-06-15
    • 2019-09-25
    • 2017-12-03
    • 1970-01-01
    • 2018-08-03
    • 2020-08-05
    • 2021-03-21
    • 1970-01-01
    • 2021-07-28
    相关资源
    最近更新 更多