如何在 apollo 的 graphql-gql 中使用从 npm 包导入的自定义 graphQL 类型
Posted
技术标签:
【中文标题】如何在 apollo 的 graphql-gql 中使用从 npm 包导入的自定义 graphQL 类型【英文标题】:How to use custom graphQL types imported from npm package in apollo's graphql-gql 【发布时间】:2019-04-03 05:34:39 【问题描述】:我不想编写自己的自定义标量类型,我想从库中导入它们。 比如我想要来自this npm package - gnt的UnixTimestamp
在我的typeDefs.js
我尝试这样的事情
import gql from 'apollo-server-express'
import UnixDate from 'gnt'
export default gql`
type vacation
from: $UnixDate
to: $UnixDate
/* other types and queries */
`
但它不起作用。我得到Error: Type "UnixDate" not found in document.
【问题讨论】:
【参考方案1】:以这种方式将UnixDate
添加到字段会将标量分配给该特定字段并告诉 GraphQL 如何处理解析它,但它不会显式地将标量添加到模式本身。您仍然需要将标量添加到 typeDefs,如下所示:
export default gql`
scalar $UnixDate /* use template literal placeholder */
type vacation
from: $UnixDate
to: $UnixDate
# Other typeDefs
`
【讨论】:
以上是关于如何在 apollo 的 graphql-gql 中使用从 npm 包导入的自定义 graphQL 类型的主要内容,如果未能解决你的问题,请参考以下文章
如何在本地网络上部署带有 apollo 客户端和 apollo-server 后端的 React 应用程序