道招

GraphQL学习、踩坑记录(一)

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

GraphQL学习、踩坑记录(一)

graphQL一直有听说,但是工作忙总是没时间尝试,这次过年在家终于试了一把,感觉还是不错的。 人就是得有个目标,不然搞什么都没什么动力,这次自己给自己定的小目标就是把将博客的数据库数据架设一个GraphQL服务器,方便以后把博客搞成vue服务端渲染,以及后续的PWA等等 直接用wordpress的RESTful接口太难用,主要是请求标签和分类等信息的话会需要发很多的请求,感觉很不爽。 目前现在用的是express-graphql来实现的,创建schema则用的是GraphQLSchema来生成的 先记录下踩的坑吧 最开始尝试GraphQL是从这里开始的https://medium.com/@noringc/building-a-graphql-server-with-node-js-and-express-f8ea78e831f9 这里主要是用了node的mjs文件(这个也是首次尝试),里面有部分代码是缺失的,总体来说入门还是不错的,这个文章介绍了两个创建schema的方法,一个就是上面提到的GraphQLSchema,一个是用buildSchema,其中用buildSchema这个自己在实践中失败了,以后再尝试。 主要的问题是报错 Cannot use GraphQLSchema \"[object GraphQLSchema]\" from another module or realm 网上说的是graphql的版本的问题,通过指定版本可以解决,但是自己没有搞定,感觉graphql的版本是有点换,貌似有0.x.x和14.x.x。 当时也不知是在哪看到用这个
app.use(bodyParser.text({
  type: 'application/graphql'
}));
用了这个是不会报上面的错了,但是感觉它会一直接收不到参数,会一直报错 Must provide query string,但是自己一直有写啊 感觉它的问题就在于不该加上上面的
app.use(bodyParser.text({
  type: 'application/graphql'
}));
但是Cannot use GraphQLSchema \"[object GraphQLSchema]\" from another module or realm这个错误自己有没有搞定,这种类型的问题着实没搞过,再说自己感觉buildSchema里面传递一个字符串来创建schema很麻烦,就懒得在这个方向上折腾了,现在就一直在GraphQLSchema创建schema这条路上前行了,随着自己对graphql了解的深入,前面的问题肯定是要搞懂了。 写了简单的demo后,就要开始动真格的了,自己暂时把博客的mysql数据下载下来,自己node连接读取数据,还是很爽的。 参考网上的对wordpress结构有所了解了,wp_posts是存储文章的表这是简而易见的,主要是知道文章的分类和标签关系,以ID为2668的文章举例: wp_term_relationships表
object_id term_taxonomy_id
2668 40
2668 606
2668 821
2668 902
2668 903
wp_term_taxonomy表
object_id term_taxonomy_id item_id
2668 40 39
2668 606 605
2668 821 820
2668 902 901
2668 903 902
wp_terms表
item_id name
39 资讯
605 苹果
820 apple
901 ibookstore
902 ibook
以上面的例子简单的说,根据文章ID2668找到40,根据40找到39,根据39找到对应的name资讯,分类、标签、友情链接等它们都会有个字段进行区分的。 先就写到这里吧。
更新时间:
上一篇:vue让select的下拉列表支持层级关系(tree)下一篇:GraphQL学习、踩坑记录(二)

相关文章

准备做点开源前端练手小项目

今天将自己自己最近写的练手代码整理放到了github上,主要是 一个是后端,github地址: https://github.com/shadowprompt/daozhao_graphql 阅读更多…

GraphQL学习、踩坑记录(二)

首先网站终于迁移好了,主要做了更换了主机,利用之前在搬瓦工的VPS,那个VPS配置较高,不充分利用实属浪费。之前用的虚拟主机,可玩性不高,唯一欣慰的是支持ssl,能实现全站的https访问。 我把原来 阅读更多…

GraphQL学习、踩坑记录(三)

在使用了GraphiQL后,我们可以看到这样的页面 从chrome的network里面可以看到传递的参数是这样的 我们在这里可以很方便的使用Query,但是这一般只是测 阅读更多…

关注道招网公众帐号
友情链接
消息推送
道招网关注互联网,分享IT资讯,前沿科技、编程技术,是否允许文章更新后推送通知消息。
允许
不用了