代码之家  ›  专栏  ›  技术社区  ›  Wilkesy

javascript文件未缓存

  •  -2
  • Wilkesy  · 技术社区  · 6 年前

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

    我已经试过在htaccess和header中添加位,但这不会改变任何内容。

    还有人碰到过这个吗?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   Lajos Arpad    6 年前

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

    你需要在任何地方加载你的核心js文件,但是在特定的地方需要你的特定特性。例如,如果用户已经登录,则不需要登录功能,因此可以在需要的地方(而不是其他地方)包含单独功能的js文件。

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

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