代码之家  ›  专栏  ›  技术社区  ›  Aaron Austin

Gatsby Source在查询中包含变量

  •  0
  • Aaron Austin  · 技术社区  · 7 年前

    我正在盖茨比网站上创建一些登录页,希望列出特定内容类型的节点。例如,我有:

    allContentfulSongs
    allContentfulBlogs
    

    在我的登录页模板中,如何动态查询歌曲或博客?我试过:

    all${landingPage} {
        edges {
          node {
           id
         }
       }
    }
    

    但我发现一个语法错误。在《盖茨比》中有没有办法做到这一点,或者我应该使用

      @include(if: $landingPage) 
    

    对于我查询中的每个contentType?

    1 回复  |  直到 7 年前
        1
  •  2
  •   chmac    7 年前

    不能使用“动态”GraphQL查询。因此,您不能在Gatsby中使用javascript变量作为查询名称的一部分。

    查询是经过特殊处理的。这就是盖茨比静态编译数据的方式。动态生成的查询很难缓存(或可能无法缓存),因此 pageQuery 不允许这样做。