graphql cli 开发graphql api flow

时间:2023-03-09 05:08:47
graphql cli 开发graphql api flow

作用

  • 代码生成

  • schema 处理

  • 脚手架应用创建

  • 项目管理

安装cli

npm install -g graphql-cli

初始化项目(使用.graphqlconfig管理)

以下为demo

  • demo 项目创建
graphql init
graphql cli 开发graphql api flow
  • 添加数据操作(一般名称为database)

使用prisma cli

prisma init database
  • 添加database 项目
graphql add-project database
graphql cli 开发graphql api flow
  • 修改配置

.graphqlconfig.yaml


projects:
demo:
schemaPath: schema.graphql
extensions:
endpoints:
default: 'http://localhost:4466'
database:
schemaPath: src/generated/prisma.graphql
extensions:
prisma: database/prisma.yml
  • 生成schema
graphql get-schema --project database

graphql cli 开发graphql api flow
  • 代码生成

    • 生成typescript typings

    .graphqlconfig.yaml


    projects:
    demo:
    schemaPath: src/schema.graphql
    extensions:
    endpoints:
    default: 'http://localhost:4466'
    codegen:
    generator: typegen
    language: typescript
    input: "{binding,prisma}/*.ts"
    output:
    typings: src/typings.ts
    database:
    schemaPath: src/generated/prisma.graphql
    extensions:
    prisma: database/prisma.yml graphql codegen
    • 生成type 定义

    修改配置

    projects:
    demo:
    schemaPath: src/schema.graphql
    extensions:
    endpoints:
    default: 'http://localhost:4466'
    codegen:
    generator: prisma-binding
    language: typescript
    output:
    binding: src/prisma.ts
    database:
    schemaPath: src/generated/prisma.graphql
    extensions:
    prisma: database/prisma.yml graphql codegen
    • binding

    修改配置

    install binding:
    npm install -g graphql-binding projects:
    demo:
    schemaPath: src/schema.graphql
    extensions:
    endpoints:
    default: 'http://localhost:4466'
    codegen:
    - generator: graphql-binding
    language: typescript
    input: schema.js
    output:
    binding: mybinding.ts
    database:
    schemaPath: src/generated/prisma.graphql
    extensions:
    prisma: database/prisma.yml graphql codegen