Graphql的date字段types必须是输出types,但得到:未定义

我有一个与node / expres和ES6运行的graphql服务器,我想迁移到打字稿,当我想要做graphql架构我遇到一些datetypes的问题。 我知道graphql不包含本地datetypes,但是在我的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. 

这里的问题是,在TypeScript中, import Foo from 'foo'需要模块'foo'来导出一个module.exports.default属性。 graphql-date模块改为使用经典的覆盖module.exports Node.js模式。

为了在TypeScript中支持这个function,可以通过以下方式混合使用新旧语法:

 import GraphQLDate = require('graphql-date');