我想将relay与react native集成在一起。 我收到以下错误: 处理预设时未定义getBabelRelayPlugin
我使用以下步骤将native native与relay集成在一起
1.回收你的项目。
2.确保您已准备好GraphQL服务器并且手头上还有schema.json。有关后两者的更多详细信息,请访问React-Relay项目页面。
确保您使用的是npm
版本3或更高版本。
3.如果React Native的打包器(react-native start
)在后台运行,你应该立即停止它。
4.Run:守望者观看全部
5.删除项目中的./node_modules
目录。
6.编辑package.json
文件,确保其中包含以下内容:
“依赖”:{
“反应”:“^ 0.14.7”,
“react-native”:“facebook / react-native”,
“react-relay”:“^ 0.7.3”
},
“devDependencies”:{
“babel-core”:“^ 6.6.4”,
“babel-preset-react-native”:“^ 1.4.0”,
“babel-relay-plugin”:“^ 0.7.3”
}
巴别塔版本尤为重要。确保您的项目使用babel 6.5或更高版本,我们需要它用于.babelrc文件中的passPerPreset功能。
7.创建一个新文件.babelrc
并将其放在项目的目录中:
{
“预设”:[
“./scripts/babelRelayPlugin”
“反应天然的”
]
“passPerPreset”:是的
}
8.使用以下内容在项目目录babelRelayPlugin.js
中创建一个新文件:
const getBabelRelayPlugin = require('babel-relay-plugin');
const schema = require('./ schema.json');
module.exports = { plugins: [getBabelRelayPlugin(schema.data)] };
9将您的schema.json
文件复制到项目目录中。
10.Run:npm install