【问题标题】:GraphQL parser string literalGraphQL 解析器字符串文字
【发布时间】:2018-02-18 10:10:14
【问题描述】:

最近我开始使用react-apollo 学习 GraphQL,我发现这段代码对我来说很有趣。

const ALL_LINKS_QUERY = gql`
query AllLinksQuery {
  allLinks {
    id
    createdAt
    url
    description
  }
}
`

如何在 JavaScript 中使用字符串字面量?

【问题讨论】:

    标签: javascript syntax graphql react-apollo


    【解决方案1】:

    gqltemplate tag 的一个示例。来自文档:

    模板字面量的更高级形式是标记模板 文字。标签允许您使用函数解析模板文字。

    标签是 ES6 引入的一项新功能,但它们实际上只是将模板文字作为参数并返回其他内容的函数。 gql 标记将模板文字与您的查询一起使用,并将其解析为抽象语法树 (AST) 格式,这是 Apollo 客户端在后台使用的格式。

    【讨论】:

    • 基本上我们可以这样做 gql(template)? :)
    • 实际上,您应该确保使用与您粘贴的代码示例中相同的语法。 gql´my template literal here´ !== gql(´my template literal here´)。在第一个中,gql 传递了模板文字。在第二个中,gql 实际上传递了由模板文字产生的 string。这是一个很小的区别,但对于如何解析模板文字很重要!
    猜你喜欢
    • 2017-01-11
    • 2019-08-02
    • 1970-01-01
    • 2020-10-07
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多