簡體   English   中英

循環GraphQL模式不起作用

[英]Cyclic GraphQL Schema Not Working

我有這樣的:

//driverType.js
module.exports = new GraphQLObjectType({
  name: 'Driver',
  fields: () => ({
    homeTerminal: {
      type: TerminalType,
      resolve: resolver(User.HomeTerminal)
    }
  })
});

和這個:

//terminalType.js
module.exports = new GraphQLObjectType({
  name: 'Terminal',
  fields: () => ({
    drivers: {
      type: new GraphQLList(DriverType),
      resolve: resolver(Terminal.Drivers)
    }
  })
});

我得到錯誤:

錯誤:模式必須包含唯一的命名類型,但是包含多個名為“ Driver”的類型。

我發現有一些帖子說將字段包裝在功能塊中可以解決該問題,但是正如您所看到的,我做到了,並且沒有任何區別。

應該支持Thins類型的循環引用,是嗎? 我們可以讓客戶指定所需的深度。

我究竟做錯了什么?

作為一種解決方法,我可以從DriverType中刪除homeTerminal並使用原始字段對其進行展平,但這相當不雅致。

我發現了問題。 terminalType.js我有:

import DriverType from './DriverType';

應該:

import DriverType from './driverType';

小寫字母“ d”正確。

UPDATE

我認為這是正在發生的事情。 Nodejs緩存導入。 因此,多次導入同一文件總是返回同一實例。 但是,我相信,雖然import 區分大小寫,但是緩存 因此,使用不同的大小寫調用文件名將返回一個新的實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM