:最新バージョンでhttps://github.com/relayjs/relay-starter-kit/blob/master/scripts/updateSchema.js
graphql(またはgraphql-sync)のintrospectionQuery
とprintSchema
ユーティリティはパッケージから直接エクスポートされます。
あなたはupdate-schema
と呼ばれる新しいフォックスのスクリプトを作成することにより、フォックスで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)
)
あなたはすることができますあなたのサービスの設定タブに行き、ドロップダウンからそれを選んで(あなたは何も引数を渡す必要はありません、単にOKを押してください)、Webインターフェイスからスクリプトを実行してください。このスクリプトは、スターターキットにあるような2つのJSONおよびGraphQLファイルを生成する必要があります。
偉大な答え。さらに、 'schema.json'をRelayアプリケーションに渡すために、Foxxにapi(GET)を提供する必要があります。 'server/utils/babelRelayPlugin.js'では、GETリクエストを作成し、取得した' schema.json'を渡して 'babel-relay-plugin'を設定する必要があります。 – lvarayut