babel中继插件带有react-native(expo)抛出错误约为';cypto';

babel中继插件带有react-native(expo)抛出错误约为';cypto';,react-native,expo,relay,react-relay,React Native,Expo,Relay,React Relay,我正在尝试使用babel插件中继包在一个世博会项目中实现react中继。 它在expo web上运行(npm run web),但当我在android设备上运行它(npm start)时,发生了这个错误 错误 我的配置 //babel.config.js module.exports=函数(api){ api.cache(true); 返回{ 预设:['babel-preset-expo'], 插件:[ [“中继”] ] }; }; //package.json “依赖项”:{ “@苦艾酒/插

我正在尝试使用babel插件中继包在一个世博会项目中实现react中继。 它在expo web上运行(
npm run web
),但当我在android设备上运行它(
npm start
)时,发生了这个错误

错误 我的配置
//babel.config.js
module.exports=函数(api){
api.cache(true);
返回{
预设:['babel-preset-expo'],
插件:[
[“中继”]
]
};
};
//package.json
“依赖项”:{
“@苦艾酒/插座继电器”:“^0.2.1”,
“@expo/vector图标”:“^10.2.1”,
“@react本地社区/屏蔽视图”:“^0.1.10”,
“@react导航/底部选项卡”:“^5.11.1”,
“@react导航/native”:“^5.8.9”,
“@react导航/堆栈”:“^5.12.6”,
“世博会”:“~39.0.2”,
“世博会资产”:“^8.2.0”,
“世博常量”:“^9.2.0”,
“expo字体”:“^8.3.0”,
“世博链接”:“^1.0.5”,
“世博会启动画面”:“^0.6.2”,
“世博会状态栏”:“~1.0.2”,
“世博网络浏览器”:“^8.5.0”,
“凤凰城”:“^1.5.6”,
“反应”:“16.13.1”,
“反应dom”:“16.13.1”,
“反应本机”:https://github.com/expo/react-native/archive/sdk-39.0.4.tar.gz",
“反应本机手势处理程序”:“^1.8.0”,
“react本地纸张”:“^4.3.1”,
“反应本机安全区域上下文”:“^3.1.9”,
“反应本机屏幕”:“^2.14.0”,
“react native web”:“^0.13.18”,
“反应继电器”:“^10.0.1”,
“中继运行时”:“^10.0.1”
},
“依赖性”:{
“@babel/core”:“~7.9.0”,
“巴别塔插件中继”:“^10.0.1”,
“graphql”:“^15.4.0”,
中继编译器“^10.0.1”
},
//relay.config.js
module.exports={
src:'./src',,
架构:'./schema.graphql',,
排除:[
“**/node_modules/**”,
“***/\uuuuuuuuuuuuuuuuuuuuuu mocks”,
'src/\\\\\\\\\\\/**'
],
};
我正在使用babel插件中继/宏来组合graphql片段(
从“babel插件中继/宏”导入graphql);


如果有人能帮我解决这个问题,我会非常感激。谢谢。

你修好了吗?有点。我想它刚刚开始工作。我添加了以下dev-deps-babel插件宏,babel-preset-expo,babel-preset-react-native,metro-react-native-babel-preset。虽然不确定它们是否都是完全必要的。重要的是,将“宏”添加到babel配置插件列表中。最后,如果您使用的是真正的硬件,那么我发现可能存在缓存问题。确保缓存已清除,以便获得最新的代码。这些编辑加上我上面所做的就是我现在正在使用的,而且很有效。谢谢!babel preset react native已被弃用,但这是一个缓存问题。添加宏修复了它,但我不知道,因为我必须
开始--重置缓存
,所以确实存在缓存问题
The package at "node_modules/babel-plugin-relay/lib/compileGraphQLTag.js" attempted to import the Node standard library module "crypto". It failed because the native React runtime does not include the Node standard library. Read more at https://docs.expo.io/workflow/using-libraries/#using-third-party-libraries