Graphql 日期字段类型必须是输出类型但得到:未定义
Posted
技术标签:
【中文标题】Graphql 日期字段类型必须是输出类型但得到:未定义【英文标题】:Graphql date field type must be Output Type but got: undefined 【发布时间】:2017-08-16 15:04:44 【问题描述】:我有一个使用 node/expres 和 ES6 运行的 graphql 服务器,我正在尝试迁移到 typescript,当我想做 graphql 架构时,我遇到了一些日期类型的问题。我知道 graphql 不包含原生日期类型,但在我的 ES6 实现中,我使用了graphql-date 来提供这个限制。
import
GraphQLObjectType,
GraphQLSchema,
GraphQLID,
from 'graphql';
import GraphQLDate from 'graphql-date';
const events = new GraphQLObjectType(
name: 'events',
description: 'This represent an Event',
fields: () =>
return
id:
type: GraphQLID,
resolve(event)
return event.id;
,
start:
type: GraphQLDate,
resolve(event)
return event.start;
;
);
问题是在我的带有打字稿的项目中,当运行服务器时我收到以下消息:
Error: events.start field type must be Output Type but got: undefined.
【问题讨论】:
我自己解决了问题,GraphqlDate 默认不返回任何导致问题的蚂蚁,如果我导入为 import * as ... 日期类型效果很好 解决方案到底是什么?请分享您的代码 【参考方案1】:这里的问题是在 TypeScript 中 import Foo from 'foo'
期望模块 'foo' 导出 module.exports.default
属性。 graphql-date
模块改为使用经典的 Node.js 模式覆盖 module.exports
。
要在 TypeScript 中支持这一点,您可以通过以下方式混合新旧语法:
import GraphQLDate = require('graphql-date');
【讨论】:
以上是关于Graphql 日期字段类型必须是输出类型但得到:未定义的主要内容,如果未能解决你的问题,请参考以下文章
带有 Keystone 的 GraphQL 需要字段类型必须是输出类型,但得到:未定义
带有快速错误的 GraphQL:Query.example 字段类型必须是输出类型,但得到:[object Object]