javascript - AWS Amplify 登录错误 - 登录错误... [TypeError: (0, _getRandomBase.default) 不是函数
问题描述
我已经设置了一个简单的 React-native 应用程序,它使用 AWS Amplify 来处理身份验证。
注册功能工作正常,但是当我尝试登录时,我在控制台中收到此错误:
Error signing in... [TypeError: (0, _getRandomBase.default) is not a function. (In '(0, _getRandomBase.default)(array.byteLength)', '(0, _getRandomBase.default)' is undefined)]
我在网上发现了一个类似的帖子,同样的错误,但在尝试了每一个建议的修复后,我决定在这里提问。下面是我的 package.json 文件。
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@react-native-community/masked-view": "^0.1.10",
"@react-native-community/netinfo": "^6.0.0",
"@react-navigation/native": "^5.9.4",
"@react-navigation/stack": "^5.14.4",
"amazon-cognito-identity-js": "^4.6.0",
"aws-amplify": "^3.3.27",
"aws-amplify-react-native": "^4.3.2",
"expo": "~41.0.1",
"expo-status-bar": "~1.0.4",
"joi": "^17.4.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-39.0.2.tar.gz",
"react-native-gesture-handler": "~1.10.2",
"react-native-reanimated": "^2.1.0",
"react-native-safe-area-context": "3.2.0",
"react-native-screens": "~3.0.0",
"react-native-web": "^0.16.0"
},
"devDependencies": {
"@babel/core": "^7.13.16",
"webpack-cli": "^4.6.0"
},
"private": true
}
建议我删除我的 node_modules 文件夹并使用重新安装它们,npm install
但这并没有解决错误。我正在使用 Expo FYI 测试我的应用程序。您会注意到我已将反应版本指定为 39.0.02。这是因为在测试我的应用程序时出现错误,这是由 react-native-reanimated 引起的,指定版本修复了这个其他错误:https ://forums.expo.io/t/error-on-launching-android-app-动画节点与标签 1 不存在/50053。
这是我尝试过的建议修复 - https://github.com/aws-amplify/amplify-js/issues/7191
解决方案
就我而言,我找到了解决此问题的解决方法。如果您使用 Expo,请查看此链接:https ://github.com/aws-amplify/amplify-js/issues/8113
在这里,有一个修复程序可以在启动 Expo 之前更改其环境变量。这解决了我遇到的登录/身份验证问题。我希望这可以帮助其他有同样问题的人。
问题是由以下原因引起的:
Expo 弃用 *.expo.js 文件类型处理,amazon-cognito-identity-js 正在使用。
您可以设置的环境变量是EXPO_LEGACY_IMPORTS
,因此如果您像下面这样启动 Expo,它应该可以再次工作:
EXPO_LEGACY_IMPORTS=1 expo start
推荐阅读
- unity3d - 在 Unity 中使用 MediaPipe 手部追踪
- spring-boot - 如何从 Spring Boot 应用程序连接在 JBOSS EAP 7 中配置为 JNDI 的现有 JMS?
- django - Django中具有只读模式的自动日期
- c# - 关闭帮助文件 (.chm) C# 时访问冲突
- shell - .travis.yml 文件应该从另一个文件中读取一个值并使用它
- c# - 从 UWP 中的资源加载“几何”
- python - Python - 如何从对象转换为浮点数
- swift - 如何释放 RealityKit ARView()?
- laravel - 在数据库中存储记录后发送 gmail 错误
- c++ - 对象如何存储在数组中?