Relayjs 如何使用新的巴别塔插件继电器继电器与继电器的经典最后?

Relayjs 如何使用新的巴别塔插件继电器继电器与继电器的经典最后?,relayjs,Relayjs,经过两天的挖掘,我只有一个问题。如何使用babel插件中继代替不推荐的babel中继插件 到目前为止我所做的: 我有一个带json的.babelrc,如下所示: { "presets": [ "es2015", "stage-0", "react" ], "plugins": [ ["relay", {"compat": true, "schema": "./graphql/schema.graphql"}] ] } 来自的updateSchem

经过两天的挖掘,我只有一个问题。如何使用babel插件中继代替不推荐的babel中继插件

到目前为止我所做的:

我有一个带json的.babelrc,如下所示:

{
  "presets": [
    "es2015",
    "stage-0",
    "react"
  ],
  "plugins": [
    ["relay", {"compat": true, "schema": "./graphql/schema.graphql"}]
  ]
}
来自的updateSchema.js文件

webpack.config.js,包含以下行:

...
module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015', 'react', 'stage-0'],
          plugins: [path.resolve(__dirname, 'graphql', 'babelRelayPlugin')],
        },
      },
...
...
  "metadata": {
    "graphql": {
      "schema": "./graphql/schema.json"
    }
  }
...
projectRoot/graphql/babelRelayPlugin.js,代码如下:

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

module.exports = getbabelRelayPlugin(schema.data);
当我试图摆脱babel relay插件并将其更改为babel plugin react as Profects时,我在transpiling relay.QL``查询时遇到了错误,类似于:

./app.jsx模块生成失败时出错:错误: /Users/Vadim/Dropbox/webstoreprojects/mulibwanji/client/src/app.jsx: babel插件中继:缺少架构选项。检查您的.babelrc文件或 无论您在哪里配置您的巴贝尔插件,以确保“中继”插件 有一个“模式”选项


我做错了什么?我不知道如何使用继电器经典与这个巴贝尔插件继电器。。。在迁移到babel plugin relay之后,在文档中确定要执行babelRelayPlugin文件的操作并不明显。

目前,我只找到了一个解决方法,不确定这是否是一个好的实践。我受到了启发,但最终没有被接受

我用
babel-plugin-relay
npm软件包添加了
babel-plugin-relay-loader
,删除了
babelRelayPlugin.js
文件,并将其添加到我的
package.json
行中:

...
module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015', 'react', 'stage-0'],
          plugins: [path.resolve(__dirname, 'graphql', 'babelRelayPlugin')],
        },
      },
...
...
  "metadata": {
    "graphql": {
      "schema": "./graphql/schema.json"
    }
  }
...
webpack.config.js
中的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"
  ]
}
这是可行的,但我仍在寻找更好的解决方案