zoukankan      html  css  js  c++  java
  • graphql cli 开发graphql api flow

    作用

    • 代码生成

    • schema 处理

    • 脚手架应用创建

    • 项目管理

    安装cli

    npm install -g graphql-cli

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

    以下为demo

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

    使用prisma cli

    prisma init database
    
    • 添加database 项目
    graphql add-project database
    
    • 修改配置

    .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
    
    
    • 代码生成

      • 生成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
  • 相关阅读:
    微服务-分解应用程序从而实现更好的部署特性及可伸缩性
    <HTML5和CSS3响应式WEB设计指南>译者序
    使用亚马逊的Route53服务
    Java中测试异常的多种方式
    跑在路上的程序员随想
    使用ruby过程中遇到安装gem失败的一些通用解决方案
    Spring-Context之九:在bean定义中使用继承
    Spring-Context之八:一些依赖注入的小技巧
    配置ngnix
    PHP程序员进阶学习书籍参考指南
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9473932.html
Copyright © 2011-2022 走看看