使用高效缓存策略服务静态资产 - Nuxt.js + GAE

Serve static assets with an efficient cache policy - Nuxt.js + GAE

我从 Lighthouse 得到以下信息:

如何在 Nuxt.js SSR 网站上更改缓存 TTL?我找到了一些答案,但没有关于 Nuxt.js...

重要:部署在 Google App Engine

您可以按照 render configuration.

使用自定义缓存策略来提供您的静态文件夹

举个例子:

render: {
  // Setting up cache for 'static' directory - a year in milliseconds
  // https://web.dev/uses-long-cache-ttl
  static: {
    maxAge: 60 * 60 * 24 * 365 * 1000,
  },
},

GAE Apps 的具体答案是 app.yaml 文件中的参数 handlers.expiration

handlers:
  - url: /_nuxt
    static_dir: .nuxt/dist/client
    expiration: 4d 5h
    secure: always

或者如果你想全局配置,在根级别设置default_expiration参数:

default_expiration: 4d 5h

允许 d(天)、h(小时)、m(分钟)和 s(秒)。这是 docs

除了答案之外,请注意 - 在撰写本文时 - Lighthouse 通过所需的最短时间 > 96.5d(来源:https://github.com/GoogleChrome/lighthouse/issues/11380

我遵循@lmfresneda 的回答并设法让解决方案起作用,使缓存时间为 30 天:在我将其更改为“97 天”之前,Lighthouse 测试仍然失败。