React native 反应本机&;继电器,兼容性。让他们一起工作的官方方式?
前言:我不熟悉Javascript、Babel和React Native 我一直在使用中继源中的TodoMVC示例开发我的应用程序。我想知道是否有可能让React Native+Relay轻松协同工作 我设置了我的babelRelayPlugin并将其添加到我的.babelrc。我为“react relay”“^0.7.3”和“babel relay plugin”“^0.7.3”安装了npm软件包,但在运行“npm安装”和“react native start”后,我收到一个错误,显示“无法识别的模块‘react relay’”或“继电器未定义” 从阅读此线程和查看最后一条注释()来看,目前我似乎应该使用TodoMVC作为新React Native+Relay项目的基础 这是正确的吗 这是我的宝贝React native 反应本机&;继电器,兼容性。让他们一起工作的官方方式?,react-native,relay,React Native,Relay,前言:我不熟悉Javascript、Babel和React Native 我一直在使用中继源中的TodoMVC示例开发我的应用程序。我想知道是否有可能让React Native+Relay轻松协同工作 我设置了我的babelRelayPlugin并将其添加到我的.babelrc。我为“react relay”“^0.7.3”和“babel relay plugin”“^0.7.3”安装了npm软件包,但在运行“npm安装”和“react native start”后,我收到一个错误,显示“无法识
{
"env": {
"development": {
"passPerPreset": true,
"presets": [
{
"plugins": [
"./plugins/babelRelayPlugin"
]
},
"react-native"
]
},
"server": {
"plugins": [
"./plugins/babelRelayPlugin"
],
"presets": [
"es2015",
"stage-0"
]
}
}
}
这是我的package.json
{
"name": "testApp",
"version": "1.0.0",
"private": true,
"scripts": {
"clean:babelrc": "find ./node_modules -name react-packager -prune -o -name '.babelrc' -print | xargs rm -f",
"postinstall": "npm run clean:babelrc",
"start": "BABEL_ENV=server babel-node ./server.js",
"update-schema": "babel-node ./scripts/updateSchema.js"
},
"dependencies": {
"babel-preset-es2015": "^6.5.0",
"babel-preset-react-native": "^1.5.1",
"babel-preset-stage-0": "^6.5.0",
"babel-relay-plugin": "^0.7.3",
"express": "4.13.4",
"express-graphql": "0.4.9",
"graphql": "0.4.17",
"graphql-relay": "0.3.6",
"moment": "^2.12.0",
"node-fetch": "^1.4.1",
"react": "^0.14.5",
"react-native": "^0.22.2",
"react-native-animatable": "^0.5.2",
"react-native-aws3": "0.0.1",
"react-native-camera": "git+https://github.com/lwansbrough/react-native-camera.git",
"react-native-console-panel": "0.0.7",
"react-native-contacts": "^0.2.3",
"react-native-keyboard-aware-scroll-view": "0.0.6",
"react-relay": "^0.7.3",
"sync-request": "^3.0.0",
"uuid-v4": "^0.1.0"
},
"devDependencies": {
"babel-cli": "^6.6.4",
"flow-bin": "^0.22.1"
},
"engines": {
"npm": ">=3"
}
}
我设法解决了这个问题。我添加了“babel core”:“^6.7.6”作为开发依赖项。删除所有脚本并将项目从git克隆到新文件夹。现在一切都很好 使用最新的React-Native(0.22)和Relay(0.7.3)版本,现在可以开箱即用。你能分享你的.babelrc和package.json吗?这里是我用react Native和relay构建的示例项目,也许这将为您提供一些参考@freiksenet刚刚用babelrc和package.json更新了我的帖子。感谢提供您的软件包,我将查看您的设置。我复制了您的.babelrc和package.json,并将其与我的合并。我仍然收到此错误2016-04-06 16:30:38.342[致命][tid:com.facebook.React.rctexceptionmanagerqueue]未处理的JS异常:需要未知模块“React relay”。如果您确定模块在那里,请尝试重新启动packager或运行“npm install”。在我看来,这不像React Native package.json。您可以尝试使用“react native init”初始化react native,以便它可以为您引导本机应用程序。