gpt4 book ai didi

asp.net-core - ASP.NET 核心 : JavaScript files getting cached

转载 作者:行者123 更新时间:2023-12-04 04:09:48 25 4
gpt4 key购买 nike

我正在编写一个 ASP.NET Core MVC 站点并使用我自己的 JavaScript 库,我经常编辑它。
问题是有时对文件的修改不会显示在浏览器中,即使我在调试时看到它们。
重命名文件有帮助。大写/降低第一个字母仅帮助一次。删除浏览器缓存无济于事。浏览器是 Opera 的最后一个版本,我不想改变它。
如果有人知道如何解决这个问题,我会很高兴。

最佳答案

我怀疑清除浏览器缓存并不能解决问题。这表明可能存在另一个缓存源,可能在服务器上,或者至少在您和服务器之间。这提出了几个问题:

  • 您是否在网站上使用输出缓存?
  • 您的 JavaScript 是否已预编译(例如,通过 TypeScript 或 Babel)?

  • 无论如何,在 ASP.NET Core 中对此的教科书式解决方案是实现 AppendVersion ScriptTagHelper 的属性(property), 如下:

    <script type="text/javascript" src="~/Shared/Script.js" asp-append-version="true"></script>

    这将通过计算文件的 SHA256 哈希值自动将唯一的查询字符串附加到您的脚本名称。每次修改您的文件时,都会生成一个新的哈希值。例如,输出可能如下所示:

    <script type="text/javascript" src="/Shared/Script.js?v=Ct6ZXzHiOuQJzhBoHlSlNyN1_d3jJnz2DvRs-5xyyJs"></script>

    这有助于确保浏览器始终下载最新版本。这类似于每次更改文件时重命名文件,不同之处在于标签助手会代表您处理这些。

    Note: There’s also an analogous tag helper for <link> and <img>, should you need to apply something similar to your CSS or inline images.



    也就是说,如顶部所述:如果您的 HTML 输出在某个级别被积极缓存,您可能仍然会遇到问题。

    关于asp.net-core - ASP.NET 核心 : JavaScript files getting cached,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61933218/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com