使用 AWS Amplify 将 React Native 应用程序发布到云

问题描述

我想编写一个调用 Lambda API 的 React Native 前端应用程序,并且我正在尝试使用 AWS Amplify 发布到云。为了确保我正在执行正确的步骤,我遵循了 Amplify 文档 (https://docs.amplify.aws/start/getting-started/data-model/q/integration/react-native#create-a-graphql-api-and-database),但是当我尝试运行“amplify publish”时,它会返回一个错误,例如“Publish started for amplifyhosting npm ERR!缺少脚本:构建”。

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/netinfo": "^5.9.10","aws-amplify": "^3.3.15","aws-amplify-react-native": "^4.3.1","expo": "~40.0.0","expo-status-bar": "~1.0.3","react": "16.13.1","react-dom": "16.13.1","react-native": "https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz","react-native-web": "~0.13.12"
  },"devDependencies": {
    "@babel/core": "~7.9.0"
  },"private": true
}

我注意到我缺少构建脚本,但据我所见,其他人也没有,但它仍然对他们有用。如果我添加它,我也不知道它应该是什么样子。

第二种方法是通过 AWS Amplify 控制台,我使用认设置从 GitLab 添加了应用程序,但它在 Cloud Formation 的构建步骤中返回并出错。 “嵌入式堆栈 arn:aws:cloudformation:-eu-central-1:stackaname 未成功创建:以下资源无法创建:[AmplifyBranch]。”

谢谢。

解决方法

我遇到了完全相同的问题。

你可以在 package.json 中添加 "build": "expo build:web" 就可以解决问题了。

package.json 应该是这样的:

 "scripts": {
    "start": "expo start","android": "expo start --android","ios": "expo start --ios","web": "expo start --web","eject": "expo eject","build": "expo build:web"
  },