有没有人能告诉我或者给我指个链接,告诉我如何使用ArangoDB-Foxx和Relay Framework (或者更确切地说:relay-fullstack)?我到处找都找不到。
我有一个使用relay-fullstack的中继项目,我想让它与ArangoDB-Foxx一起工作(目前我使用的是来自中继框架的tutorial的模式)。据我所知,ArangoDB-Foxx使用graphql-sync而不是graphql。因此它打破了relay-fullstack的构建过程。
任何帮助都将不胜感激。谢谢..:)
发布于 2016-07-04 17:58:11
我不太了解relay-fullstack,但是如果您唯一的问题是生成教程中提供的模式文件,那么只需检查它是如何生成的:https://github.com/relayjs/relay-starter-kit/blob/master/scripts/updateSchema.js
使用最新版本的graphql (或graphql-sync),可以直接从包中导出introspectionQuery和printSchema实用程序。
您可以通过创建一个名为update-schema的新Foxx脚本在Foxx中模拟updateSchema脚本
首先,将脚本添加到清单中:
"scripts": {
"update-schema": "scripts/updateSchema.js"
}然后将脚本本身实现为scripts/updateSchema.js,如下所示(假设您的GraphQL模式位于data/schema.js中):
'use strict'
const fs = require('fs')
const path = require('path')
const Schema = require('../data/schema')
const gql = require('graphql')
const result = gql.graphql(Schema, gql.introspectionQuery)
if (result.errors) {
console.error(
'ERROR introspecting schema: ',
JSON.stringify(result.errors.map((err) => gql.formatError(err)), null, 2)
)
} else {
fs.writeFileSync(
path.join(__dirname, '../data/schema.json'),
JSON.stringify(result, null, 2)
)
}
fs.writeFileSync(
path.join(__dirname, '../data/schema.graphql'),
gql.printSchema(Schema)
)现在,您可以从web界面运行脚本,方法是进入服务的设置选项卡,然后从下拉菜单中选择它(您不需要传递任何参数,只需按OK)。该脚本应该为您的模式生成两个JSON和GraphQL文件,就像初学者工具包中的文件一样。
https://stackoverflow.com/questions/38158327
复制相似问题