由于 aws-exports,AWS 放大部署失败

IT技术 reactjs amazon-web-services serverless aws-amplify
2021-05-14 08:47:38

我正在尝试将我的 reactJs 应用程序部署到 Amplify。我的 Github 连接到 Amplify。在部署期间,它在构建步骤中显示以下错误:

2020-01-07T19:35:22.127Z [INFO]: Failed to compile.
2020-01-07T19:35:22.129Z [INFO]: ./src/index.js
                                 Cannot find file './aws-exports' in './src'.
2020-01-07T19:35:22.149Z [WARNING]: error Command failed with exit code 1.
2020-01-07T19:35:22.150Z [INFO]: info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
2020-01-07T19:35:22.155Z [ERROR]: !!! Build failed
2020-01-07T19:35:22.239Z [ERROR]: !!! Non-Zero Exit Code detected
2020-01-07T19:35:22.239Z [INFO]: # Starting environment caching...

发生这种情况是因为.gitignore忽略了 aws-exports。有人可以告诉我在不提交 aws-exports 的情况下解决此问题的方法是什么?

1个回答

我在第一次构建时遇到了同样的问题。

Amplify 文档没有具体说明在使用 Amplify 控制台时应该如何维护构建,但对我有用的例程是:

aws-exports当您运行成功的amplify push命令时,您将生成您的文件

aws-exports.js 文件 此文件仅为 JavaScript 项目生成。它包含所有类别的合并输出,并放置在用户(开发人员)在 init 过程中指定的 src 目录下。它在每次成功执行 amplify push 命令后更新,即已创建或更新云资源。

基于此,我更新了 Amplify 控制台中的配置以部署我的后端。您可以在https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html了解如何配置自己的

backend:
  phases:
    build:
      commands:
        - '# Execute Amplify CLI with the helper script'
        - amplifyPush --simple

后端构建完成后,将为我的下一个工作生成文件,即使用该aws-exports文件的前端构建

注意:如果您使用的是 eslint,则文件输出格式可能会出现问题。您可以eslint --fix在前端添加命令preBuild

更新:正如lucdenz提到的,您还需要设置一个服务角色

我使用的来源: