此页面需要javascript支持,请在浏览器中启用javascript

Graphql 学习笔记(1)

gql
Graphql
阅读 

提前准备

如果您和我一样是 windows 系统 ,记得设置 mongodb server的bin和 tools的bin为环境变量,不然无法使用 mongoimport 等工具

安装训练数据

在执行完 训练用mongodb 数据 里的 import.sh -s

如果您和我一样是 windows 系统 , 可以用 Git Bash 执行 Shell 脚本

在本地的mongodb,多了:

  • sample_library
  • sample_pictures
  • sample_school
  • samples
  • twitter

这几个database

接着让我们开始安装需要用的npm包

yarn add express apollo-server-express mongoose graphql@14.7.0 graphql-tag graphql-compose graphql-compose-mongoose

or

npm i -S ...

graphql先指定 14.7.0 ,最新版本15.3.0 ,因为npm ls graphql 查询可知其他依赖的都是14.7.0版本,版本不同会导致

Ensure that there is only one instance of \"graphql\" in the node_modules\ndirectory. 错误

定义 Mongoose Schemas

我们先从 sample_library 开始

我们根据表结构定义 Book 和 Cover 的 Schema

使用 Populate Virtuals 定义表之间的关系

可详见本项目目录 db/schemas

生成 GQL Schema

可详见本项目目录 db/gql

作为nuxt中间件使用

nuxt server 用的是 connect 所以我们用 express + apollo-server-express 由于不喜欢cjs和绝对路径引用,我加了一层rollup

可详见本项目目录 serverMiddleware/graphql

生成成功

dev:

prod:

© 2021 icebreaker 苏ICP备19002675号-2
version:1.2.2