在 Graphql 中共享枚举
Share enum in Graphql
刚开始学习 GraphQL,我想分享一个我在 express apollo 服务器中导出的枚举。
./src/shared/fruitsEnum.ts
export enum fruitsEnum{
APPLE,
ORANGE
}
导入枚举
./src/market/fruits.ts
import { fruitsEnum } from "./src/shared/fruitsEnum.ts"
export const typeDef = `
type Fruit{
id: ID
fruitName: fruitsEnum
}
type Query{
...
}
`
我尝试这样做,但我得到 Error: Unknown type fruitsEnum
。我将枚举放在单独位置的原因是因为相同的枚举可能用于其他模式。我的目标是拥有一个可共享的枚举类型。
Typescript 枚举 != graphQL 枚举
Enum 需要在 graphQL 'context' 中定义为 docs,因此它将以这种方式工作:
export const typeDef = `
enum fruitsEnum{
APPLE,
ORANGE
}
type Fruit{
id: ID
fruitName: fruitsEnum
}
type Query{
...
}
您可以使用 type-graphql
到 'connect' 它们(typescript 和 graphql 上下文)和(在客户端和服务器之间共享) 无需显式 [typescript 已定义] 枚举定义里面 typDef
.
更多信息here
刚开始学习 GraphQL,我想分享一个我在 express apollo 服务器中导出的枚举。
./src/shared/fruitsEnum.ts
export enum fruitsEnum{
APPLE,
ORANGE
}
导入枚举
./src/market/fruits.ts
import { fruitsEnum } from "./src/shared/fruitsEnum.ts"
export const typeDef = `
type Fruit{
id: ID
fruitName: fruitsEnum
}
type Query{
...
}
`
我尝试这样做,但我得到 Error: Unknown type fruitsEnum
。我将枚举放在单独位置的原因是因为相同的枚举可能用于其他模式。我的目标是拥有一个可共享的枚举类型。
Typescript 枚举 != graphQL 枚举
Enum 需要在 graphQL 'context' 中定义为 docs,因此它将以这种方式工作:
export const typeDef = `
enum fruitsEnum{
APPLE,
ORANGE
}
type Fruit{
id: ID
fruitName: fruitsEnum
}
type Query{
...
}
您可以使用 type-graphql
到 'connect' 它们(typescript 和 graphql 上下文)和(在客户端和服务器之间共享) 无需显式 [typescript 已定义] 枚举定义里面 typDef
.
更多信息here