vercel - Contentful 的新内容未显示在 NextJS 应用程序上

标签 vercel next.js13 contentful app-router

我使用 Contentful 作为我的 CMS 和 NextJS 来显示我的内容。我的 NextJS 应用程序托管在 Vercel 上。我将 NextJS 13 与 AppRouter 一起使用。

问题是我不确定如何在 Contentful 上获取新内容以在 NextJS 上显示。

我尝试向 Contentful SDK 添加重新验证,但它导致内容无法加载。

并且在主页上导出 revalidate 不会执行任何操作。

当我发布新内容而不重新部署它时,如何让 NextJS 重建?我是 NextJS 的新手。

这是我的仓库:https://github.com/davinaleong/proj-laugh-and-be-blessed-next

最佳答案

您需要创建一个 webhook 以在每次内容更改时触发。

第 1 步:转到您的 Vercel 项目

第 2 步:访问项目设置 在 Vercel 仪表板中,导航至“设置”。您通常可以在顶部导航栏中找到它。

第 3 步:配置 Git 设置 在“设置”菜单中,单击左侧边栏中的“Git”。

第 4 步:向下滚动至部署 Hook

第 5 步:添加新的部署 Hook 单击“添加”按钮创建新的部署 Hook 。 为您的部署 Hook 命名(例如“Contentful Content Change”)。 指定要为其触发 Webhook 的分支名称。 点击“保存”。

第 6 步:复制 Webhook URL 保存后,您将看到为部署 Hook 生成的唯一 URL。将此 URL 复制到剪贴板。

第 7 步:返回内容

第 8 步:访问内容设置

第 9 步:配置 Webhook 在 Contentful 仪表板中,单击导航菜单中的“设置”,然后选择“Webhooks”。

第 10 步:添加新的 Webhook 在右侧,您将看到“Vercel 部署站点”。单击旁边的“添加”。

第 11 步:配置 Webhook 设置 为您的 Webhook 命名(例如“Contentful to Vercel”)。 将您在前面的步骤中从 Vercel 部署 Hook 复制的 URL 粘贴到 URL 字段中。 根据您的要求自定义 Webhook 设置。您可以选择针对特定内容事件触发它或根据需要应用其他过滤器。 单击“保存”保存您的 Webhook 设置。

第 12 步:大功告成!

您的 Webhook 现已设置为每次 Contentful 中的内容更改时触发,并与您的 Vercel 项目集成。 ✅ 这些说明应该可以帮助您无缝设置 Webhook。

您可以在“部署”选项卡中看到在 Contentful 中进行更改后触发的新构建。

关于vercel - Contentful 的新内容未显示在 NextJS 应用程序上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77206520/

相关文章:

graphql - Gatsby 和 GraphQL - 如何在查询中过滤数组

javascript - 多个 content_types 的内容 getEntries

create-react-app - Tailwind 样式不适用于生产

next.js - 如何在 Next.js 中禁用路由预渲染?

javascript - 如何在 Vercel 上的 SvelteKit 应用程序中创建 Web Worker?

reactjs - 如何在 Next.js 应用程序中生成路由 [slug] 的 .html 文件?

reactjs - 开发本地主机上的 Next JS 13 应用程序目录快速刷新无法按预期工作

javascript - 如何从内容丰富的 CDA 响应中删除 sys 对象?

next.js - Nextjs,公共(public)文件夹中的图像在部署时找不到,但在本地找到

reactjs - 如何解决 Vercel 上的 React Vite 404 错误