sugarkeek
V2EX  ›  Node.js

Gatsbyjs 通过 GraphQL 查询到的数据是只在构建的查询一次吗?

  •  
  •   sugarkeek · Feb 12, 2021 · 2451 views
    This topic created in 1925 days ago, the information mentioned may be changed or developed.
    刚刚接触 gatsbyjs,发现后端发布新数据,gatsbyjs 需要重新构建一次才能更新。所以我有点疑惑,Gatsbyjs 通过 GraphQL 查询到的数据是只在构建的查询一次吗?后面更新的数据需要重新构建吗?

    我讲讲我试图解决的方法:
    1. 似乎就是构建的时候查询一次,但是提供了一个 refresh 的钩子,更新的时候去请求 refresh 钩子,就会重新渲染。似乎是这样?

    2. 官方解释说这是 gatsby 最美妙的地方,动态查询和静态构建都可以在 react 中完美使用,但是我大概搜了搜动态查询和静态构建在 gatsby 中的实例,发现都是讲 GraphQL 做静态一次性构建,动态的在用 restful 请求数据,这我就很疑惑了,放在好好的 GraphQL 不去用,去用 restful,然后告诉我这是动态查询和静态构建的完美融合,我觉得这不合理,应该还是我打开的方式不对?

    3. 偏个题,关于 gatsbyjs,官方在宣传它的时候似乎是说他的亮点在于,通插件(似乎还有个主题) gatsby 对接,gatsby 具有很好的拓展性,我使用了大概两天,除了感觉自动创建路由这一点方便外,其他好像不用框架也能实现?
    5 replies    2021-02-13 15:44:28 +08:00
    dcalsky
        1
    dcalsky  
       Feb 12, 2021
    SSG 是这样的,好比带了 GraphQL 功能的 React 版本的 hexo 。
    sugarkeek
        2
    sugarkeek  
    OP
       Feb 12, 2021
    @dcalsky 还是太 morden 了,感觉适合文档或者博客类的应用。

    如果交互量大,不就是更新一次构建一次。或者像 hexo 里评论一样,和应用本身分离开
    dartabe
        3
    dartabe  
       Feb 12, 2021
    可以用 Nextjs 吧
    sphawkcn
        4
    sphawkcn  
       Feb 12, 2021
    我也是搞不懂评价很高的 GatsbyJS 美妙在何处,除非网站不更新,一更新就要全站全部重新构建,这个有点。。。。貌似只能用于不需要经常更新的“死”站。
    leishi1313
        5
    leishi1313  
       Feb 13, 2021 via Android
    你就想想自己实现 gatsby-image 所有的功能需要费多少事。配上默认的 code splitting,lazy load 等等,可以说是建站的最佳实践集合。
    再加上其他的比如和各种 cms 的对接,强大的 mdx 等等,我是没见过比它更香的框架了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4104 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 10:12 · PVG 18:12 · LAX 03:12 · JFK 06:12
    ♥ Do have faith in what you're doing.