【问题标题】:How can i save js, css in cache from Gatsby?如何将 js、css 从 Gatsby 保存到缓存中?
【发布时间】:2021-10-11 20:17:00
【问题描述】:

我有一些来自 node_modules 的文件,它们需要保存在缓存中,因为我正在获取这些信息

enter image description here

为了获得我使用 Lighthouse 审核的这些信息,这是网络 https://www.webpagetest.org/

这是最终结果,“缓存静态内容”是错误 enter image description here

我正在与 Gatsby 合作,我找到了有关我的问题的信息https://www.gatsbyjs.com/docs/caching/#javascript-and-css,但我不确定如何使用它或者我应该使用其他库吗?我不知道如何缓存

我认为我应该使用这些属性:

The cache-control header should be cache-control: public, max-age=31536000, immutable

这是我的文件 gatsby-config

plugins: [
    'gatsby-plugin-top-layout',
    {
      resolve: 'gatsby-source-filesystem',
      options: {
        name: 'assets',
        path: `${__dirname}/src/assets`,
      },
    },
    `gatsby-plugin-image`,
    'gatsby-transformer-sharp',
    'gatsby-plugin-sharp',
    {
      resolve: 'gatsby-plugin-manifest',
      options: {
        
      },
    },
    {
      resolve: `gatsby-plugin-offline`,
      options: {
        precachePages: ['/projects/'],
      },
    },
    {
      resolve: 'gatsby-plugin-material-ui',

我这样做的目的是解决这个问题,当我重新加载 Web 应用程序时会有一个空格

blank space

【问题讨论】:

  • 您将需要从您的 Web 服务器而不是您的静态内容 (gatsby) 发送这些 HTTP 标头。你用的是什么网络服务器?
  • @nita 我正在使用 firebase

标签: reactjs firebase server strapi


【解决方案1】:

Gatsby 生成静态内容。它不处理发送 HTTP 响应。这将是一个 Web 服务器(或者在你的情况下是 firebase)。

查看有关在 firebase 上发送标头的文档 https://firebase.google.com/docs/hosting/full-config#headers

你需要这样的东西:

"hosting": {
  "headers": [ {
    "source": "**/*.@(eot|otf|ttf|ttc|woff|font.css)",
    "headers": [ {
      "key": "cache-control",
      "value": "public, max-age=31536000, immutable"
    } ]
  } ]
}

这会缓存通常是安全的字体文件,因为字体很少更改。

如果您愿意,也可以将jscss 添加到该列表中。请记住,您需要更改 js 和 css 文件的名称,否则浏览器将等待 1 年才能重新加载它们。

【讨论】:

  • @nita 我不能更改他们的名字,因为他们属于 node_modules
  • 它们叫什么?您可能可以修改“源”部分以专门包含它们。
  • @nita 他们在我的第一张图片中
  • @brucelee 您无法控制其他网站发送的标头。您的选择是避免这些依赖关系或(如果可能)出售它们,以便您的标头应用stackoverflow.com/questions/26217488/what-is-vendoring
  • @nita 如何改进我的应用程序,我优化了图像,我重构了我的代码,但错误的空白一直显示,我编辑了我的问题,我放了一个新图像
猜你喜欢
  • 1970-01-01
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-22
  • 1970-01-01
相关资源
最近更新 更多