【发布时间】:2020-12-13 07:41:46
【问题描述】:
我是使用 Gatsby 和 graphcms 的初学者。使用 gatsby 开发环境从 cms 获取数据很好,一切都很好。我已经在 Netlify 上部署了我的网站,当通过 cms 添加一些新内容时,内容没有更新,也没有获取。
需要来自 cms 内容的组件:
import React from "react"
import { StaticQuery, graphql } from "gatsby"
import ServicesMobileProduct from "./ServicesMobileProduct"
const ProductsMobile = () => (
<StaticQuery
query={graphql`
{
product {
products {
id
productName
description
price
amount
}
}
}
`}
render={({ product: { products } }) => (
<>
{products.map(({ productName, description, price, amount, id }) => (
<ServicesMobileProduct
key={id}
productName={productName}
description={description}
price={price}
amount={amount}
/>
))}
</>
)}
/>
)
export default ProductsMobile
【问题讨论】:
-
因为 gatsby 是 STATIC 内容编译器......在构建(部署)之后它不会获取任何东西(几乎)......阅读 gatsby 文档关于构建/运行时获取......如果你需要一些动态元素(使用 RUN 时间获取)然后使用 apollo [就像在通常的 react webapp 中一样]
-
那么我该如何使用cms呢?部署后,我有时需要将新内容从 cms 添加到网站。
-
内容更新后只需重建/重新部署
-
这是否可以将其转换为动态内容,或者我必须将应用程序移动到简单的 React 应用程序?无法重建/重新部署每个更新,因为网站不适合我,而是适合已经需要网站的人。
-
重建过程可以自动化,更改后运行...出于 seo 原因,它应该是静态的...也许只有某些部分是动态的?