[英]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.