Webpack babelRelayPlugin、transform运行时、passPerPreset做什么?(巴别塔和网页包配置)

Webpack babelRelayPlugin、transform运行时、passPerPreset做什么?(巴别塔和网页包配置),webpack,babeljs,relayjs,Webpack,Babeljs,Relayjs,我是Relay的新手,我正在查看其“babel+网页包配置,不知何故,我需要帮助了解其”。babelrc-以下是代码: { "passPerPreset": true, "plugins": [ "transform-runtime" ], "presets": [ { "plugins": [ "./build/babelRelayPlugin" ] }, "react", "es2015",

我是Relay的新手,我正在查看其“babel+网页包配置,不知何故,我需要帮助了解其”。babelrc-以下是代码:

{
  "passPerPreset": true,
  "plugins": [
    "transform-runtime"
  ],
  "presets": [
    {
      "plugins": [
        "./build/babelRelayPlugin"
      ]
    },
    "react",
    "es2015",
    "stage-0"
  ]
}
这是babelRelayplugin.js上的代码,虽然很短,但我需要帮助理解这一点:

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

module.exports = getBabelRelayPlugin(schema.data);
我了解预设中的“react”、“es2015”、“stage-0”,babel将代码转换为浏览器能够理解的js。我已经完成了搜索,这是我所掌握的信息,我不理解,并且感到困惑:

  • Relay使用一个babel插件从Relay.QL转换而来 字符串模板到描述每个查询和 包括来自GraphQL架构的数据
  • PasspersReset:true-将修改babel如何遍历 插件。而不是一次遍历所有插件/预设 合并在一起时,每个预设将获得自己的遍历(这是什么意思?)
  • “插件”:[“转换运行时”]-所有帮助程序都将引用 模块babel运行时,以避免在已编译的 输出。运行时将编译到您的构建中
如果有人能帮助我理解这些是什么以及它们的用途,我将不胜感激

我建议您阅读中继存储库及其包含的链接