繁体   English   中英

Apollo 服务器中的 Typescript 语法

[英]Typescript Syntax in Apollo server

正如您在 apollo 服务器中所知道的,您可以通过将字符串传递给 gql 来定义服务器的模式。

const typeDefs = gql`
type Query {
  getBtcRates: [BtcRate]
}
`'

但是什么是gql? 是function还是方法?

是定义

export const gql: (
  template: TemplateStringsArray | string,
  ...substitutions: any[]
) => DocumentNode = gqlTag;

对我来说,它看起来更像是 function,但我不知道这种语法,所以想知道它到底是什么以及为什么这样写。

gql使用称为标记模板的语法,并且不是 TypeScript 特定的。 再举一个例子, styled-components也依赖于这种语法。

从文档:

标签允许您使用 function 解析模板文字。 标签 function 的第一个参数包含一个字符串值数组。 其余的 arguments 与表达式有关。

这是如何工作的一个基本示例:

 var variable = 'world'; function myTag(strings, exp) { var str0 = strings[0]; // "Hello " var str1 = strings[1]; // ";" return `${str0}${exp}${str1}`; } var output = myTag`Hello ${ variable }.`; console.log(output); // Hello world!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM