道招

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资讯,分类、标签、友情链接等它们都会有个字段进行区分的。 先就写到这里吧。
更新时间:
上一篇:下一篇:

相关文章

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