【问题标题】:Javascript File not CachingJavascript文件不缓存
【发布时间】:2018-11-24 04:17:22
【问题描述】:

我正在使用 Keenthemes Metronic 管理模板,但在处理 1 个文件时遇到了问题。它是一个 javascript 文件,出于某种原因,无论我尝试什么,我都无法将其缓存。它是一个大小为 3.5mb 的静态文件,因此每次加载都会杀死脚本。

我尝试向我的 htaccess 和标题添加位,但这没有任何改变。

还有其他人遇到过这个吗?

谢谢

【问题讨论】:

  • 嗯...时代变了,当我还是 HTML 和 JS 的初学者时,据说“如果您的脚本文件大于 20 kB,那么您已经做了一些事情错了。" 是否清空了缓存,以便有足够的空间存放JS文件?
  • 我同意你的观点,但现代脚本的复杂性意味着它们更大,但必须同意 3.5mb 是荒谬的!!!因此,我真的希望它缓存的原因!
  • 这与 PHP 有什么关系?您是否尝试过缩小文件?
  • 这个脚本使用的主要模板是 PHP,所以我加入了标签。我已经尝试将它缩小到 2mb 左右,仍然是一个非常大的文件!

标签: javascript php caching


【解决方案1】:

正如我在评论部分看到的,您已经尝试最小化文件,但它仍然非常大。您可以控制自己浏览器的缓存,但无法控制用户正在使用的浏览器的缓存。因此,您将无法强制缓存文件。因此,您需要彻底阅读该文件并将其分成单独的文件。您最终将拥有一个核心文件,该文件在任何地方都很有用,并且需要下载,并且您将拥有一些其他文件,这些文件特定于某些功能,例如用于注册/登录的文件,另一个用于处理单独功能的文件,比如选择颜色等等。

您将需要在任何地方加载您的核心 JS 文件,但在特定位置将需要您的特定功能。例如,如果用户已经登录,您将不需要登录功能,因此您可以将 JS 文件包含在需要它们的单独功能中,而其他任何地方都不需要。

另外,您可能希望延迟加载 JS 文件,因此您将首先加载核心文件,并在成功加载后,单独加载其他文件。这些功能在页面加载时最初将无法使用,因此页面需要以某种方式处理或阻止用户在其脚本加载之前尝试使用该功能。

缩小所有这些单独的文件也没有什么坏处。可能 RequireJS 可以帮助您处理需求,但您也可以实现自己的功能来处理需求。

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 2014-07-29
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多