【问题标题】:Nuxt Async Data - Server is CachingNuxt 异步数据 - 服务器正在缓存
【发布时间】:2020-12-02 23:21:11
【问题描述】:

我正在使用 nuxtasyncData() 向端点发出 axios 请求。在我的构建中,我使用的是预渲染的 HTML 页面。

我在 API 端点上有一组产品,我们刚刚删除了大部分产品,但它们仍显示完整的产品列表。

所以我启动了我的开发服务器并点击了端点,我从端点看到了正确的更新 API 列表。

看来我的服务器正在缓存 API 调用。我没有使用节点服务器,只是将我预渲染的 html 上传到服务器。

只是我试图隔离问题并想知道它是否是带有 nuxt.js 的配置,这将允许我不从端点缓存,或者这是否是导致 API 数据的严格的服务器问题要缓存吗?

或者是否有我可以在 AXIOS 请求中使用的配置来始终给我一个新的副本?

【问题讨论】:

    标签: vue.js caching nuxt.js


    【解决方案1】:

    您是否正在运行 nuxt 并生成静态站点?在这种情况下,nuxt 在生成静态 html 时会从您的 API 中获取所有产品。所以 nuxt-server 对更新的 api-data 一无所知。

    您可以通过使用挂钩并在每次 api 数据更改时重新构建页面来解决此问题。

    编辑:您可以在docs中找到更多信息

    【讨论】:

    • 是的,我正在使用静态站点生成。文档只是一般性的。什么是钩子?构建到 API 调用或将页面设置为不缓存。缓存是客户端还是服务器端?
    • 两者都可以。例如,如果您有一个托管在 netlify 上的 cms,您可以执行以下操作:如果您更新 cms 中的页面 -> 在 netlify 上调用 build hook。 nuxt 重建并从 cms 调用 api。如果您的 api-data 更频繁地更改,最好只在客户端(而不是在构建时在 der 服务器上)进行获取。您可以使用 fetch() 并将 fetchOnServer 设置为 false -> nuxtjs.org/guides/features/data-fetching
    猜你喜欢
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 2021-01-24
    • 2020-08-04
    • 2015-04-14
    相关资源
    最近更新 更多