Relay-fullstack についてはよくわかりませんが、チュートリアルで提供されているスキーマ ファイルの生成だけが問題である場合は、生成方法を確認してください: https://github.com/relayjs/relay-starter-kit/blob/マスター/スクリプト/updateSchema.js
最新バージョンのgraphql(またはgraphql-sync)では、introspectionQuery
およびprintSchema
ユーティリティがパッケージから直接エクスポートされます。
updateSchema
という名前の新しい Foxx スクリプトを作成することにより、Foxx でスクリプトをエミュレートできますupdate-schema
。
最初にスクリプトをマニフェストに追加します。
"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] を押すだけです)。スクリプトは、スターター キットの場合と同様に、スキーマ用に 2 つの JSON ファイルと GraphQL ファイルを生成する必要があります。