我是 Relay 的新手,我正在查看它的 babel+webpack 配置,不知何故我需要帮助来理解它的 .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。我已经完成了搜索,这是我所拥有的信息,但我不明白并感到困惑:
- babelRelayPlugin - Relay 使用 babel 插件从 Relay.QL 进行转换 描述每个查询的 JavaScript 代码的字符串模板 包括来自 GraphQL 架构的数据。
- passPerPreset:true - 将修改 babel 遍历的方式 插件。而不是一次遍历所有插件/预设 合并在一起,每个预设都会得到自己的遍历。(这是什么意思?)
- "plugins": ["transform-runtime"] - 所有助手都会引用 模块 babel-runtime 以避免编译过程中的重复 输出。运行时将被编译到您的构建中
如果有人帮助我理解这些是什么以及它们的作用,我将非常感激。
最佳答案
我建议您阅读this issue Relay 存储库及其中包含的链接。
关于webpack - babelRelayPlugin、transform-runtime、passPerPreset 是做什么的? (babel+webpack配置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42833210/