簡體   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