2017-07-05 7 views
0

2日間の掘削の後、私はちょうど1つの質問があります。 deprecated babel-relay-pluginの代わりにbabel-plugin-relayを使用するには?私はこれまで何をやったかRelay Classicで新しいbabel-plugin-relayを使用するにはどうすればいいですか?

は:relay-starter-kitから

{ 
    "presets": [ 
    "es2015", 
    "stage-0", 
    "react" 
    ], 
    "plugins": [ 
    ["relay", {"compat": true, "schema": "./graphql/schema.graphql"}] 
    ] 
} 

updateSchema.jsファイル:

私は以下のJSONと、この.babelrcを持っています。

... 
module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     exclude: /node_modules/, 
     loader: 'babel-loader', 
     query: { 
      presets: ['es2015', 'react', 'stage-0'], 
      plugins: [path.resolve(__dirname, 'graphql', 'babelRelayPlugin')], 
     }, 
     }, 
... 

projectRoot/graphql/babelRelayPlugin.js以下のコードを持つ:以下の行を持つ

webpack.config.js私はバベルリレーを取り除くためにしようとしました

const getbabelRelayPlugin = require('babel-relay-plugin'); 
const schema = require('./schema.json'); 

module.exports = getbabelRelayPlugin(schema.data); 

ERROR in ./app.jsx Module build failed: Error: /Users/Vadim/Dropbox/WebStormProjects/mulibwanji/client/src/app.jsx: babel-plugin-relay: Missing schema option. Check your .babelrc file or wherever you configure your Babel plugins to ensure the "relay" plugin has a "schema" option.

を:私はそのようなRelay.QL``クエリをtranspilingに誤りがありました - documenationが奨励としてバベル - プラグインに反応し、それを-pluginと変更

私は間違ったことをしましたか?私はRelay Classicをこのbabel-plugin-relayで使用する手がかりを得ることはできません... babel-plugin-relayに移行した後で、ドキュメントでbabelRelayPluginファイルをどうすればよいか分かりません。

答えて

0

この時点では、回避策が1つしか見つかりませんでしたが、それが良い方法であるかどうかはわかりません。私はthis commitに触発されましたが、最終的には受け入れられませんでした。私はbabel-plugin-relay NPMパッケージでbabel-plugin-relay-loaderを追加し、babelRelayPlugin.jsファイルを削除も私の下のpackage.jsonラインに追加した

webpack.config.js

... 
    "metadata": { 
    "graphql": { 
     "schema": "./graphql/schema.json" 
    } 
    } 
... 

JSローダーセクションには、以下のようになります。

... 
{ 
     test: /\.jsx?$/, 
     exclude: /node_modules/, 
     loader: 'babel-loader', 
     query: { 
      presets: ['es2015', 'react', 'stage-0'], 
      plugins: ['babel-relay-plugin-loader'], 
     }, 
     }, 
... 

.babelrc私は以下のように去った:

{ 
    "plugins": [ 
    ["babel-relay-plugin-loader"] 
    ], 
    "presets": [ 
    "es2015", 
    "stage-0", 
    "react" 
    ] 
} 

動作しますが、私はまだ解決策を探しています

関連する問題