次のように、babelRelayPlugin.js (クライアントの graphql クエリを検証するときに webpack によって実行される) を定義します。
var babelRelayPlugin = require('babel-relay-plugin');
var introspectionQuery = require('graphql/utilities').introspectionQuery;
var request = require('sync-request');
var url = 'http://localhost:3000/graphql';
var response = request('POST', url, {
qs: {
query: introspectionQuery
}
});
var schema = JSON.parse(response.body.toString('utf-8'));
module.exports = babelRelayPlugin(schema.data, {
abortOnError: true,
});
もちろん、url 変数は、開発に使用するサーバーの URL に変更してください。webpack では、ローダーの定義に以下を含めます。
query: {stage: 0, plugins: ['./babelRelayPlugin']}
上記のbabelRelayPlugin.jsファイルの場所をポイントします。