【问题标题】:Still need cache-busting on CSS file in Blazor WebAssembly site?仍然需要在 Blazor WebAssembly 站点中对 CSS 文件进行缓存清除?
【发布时间】:2021-02-21 21:18:51
【问题描述】:

read this 但还是有问题:
我有我的 Blazor WebAssembly 站点,其中有一个静态 index.html 文件,它以正常方式引导 Blazor。在其<head> 中,我有<link href="css/app.min.css" rel="stylesheet" />。该文件是使用 Dockerfile RUN 部署步骤从 SCSS 构建的。

根据that issue,我不需要缓存破坏 URL,因为 Blazor 会根据需要自动请求一个新的。然而,当我部署我的站点并在 Firefox 中打开它时,我得到了旧样式,并在 Firefox 开发人员工具网络选项卡中看到 app.min.css 是从磁盘缓存中检索的。我必须按 Ctrl+F5 才能获得新样式。

那么这个链条出了什么问题?在我看来,每次部署时我的 CSS 仍然需要缓存破坏 URL。 需要设置什么,以便在站点二进制文件更改时下载我的 CSS,就像 Steve Sanderson 在 that issue 中建议的那样?

【问题讨论】:

  • 如果您希望每次加载页面时都有一个缓存清除 URL,您可以向样式表 URL 添加一个查询字符串,其中包含(每次)新生成的随机数或字母数字字符串。例如。 <link rel="stylesheet" href="css/app.min.css?858573639020382243246">.
  • 这可以在静态 index.html 中以某种方式自动完成?
  • 是的,我认为这样的事情会很简单,但我想找出“正确的 Blazor”方法。桑德森先生说甚至不需要缓存破坏,但我没有看到它。
  • 我现在怀疑我的问题实际上可能是 Firefox 中的错误或设计问题:support.mozilla.org/en-US/questions/1317462

标签: css browser-cache blazor-client-side blazor-webassembly


【解决方案1】:

向 blazor 页面添加样式引用,该引用可根据程序集版本进行缓存,并将“css/app.min.css”中的数据读取到 blazor 页面中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-04
    • 2023-03-13
    • 2020-08-27
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    相关资源
    最近更新 更多