【问题标题】:Cannot find file './aws-exports' in './src'在“./src”中找不到文件“./aws-exports”
【发布时间】:2020-07-02 23:46:08
【问题描述】:

我在这个AWS tutorial to build a React app with AWS, Amplify and GraphQL 的第三个模块上,但构建不断中断。当我运行amplify push --y 时,CLI 生成了./src/aws-exports.js 并将相同的文件添加到.gitignore。因此,构建失败我并不感到惊讶,因为当我推送更改时该文件不包含在内。

所以我不确定在这里做什么。考虑到它会自动添加到.gitignore,我很犹豫是否要删除它。

有什么建议吗?

【问题讨论】:

    标签: aws-amplify


    【解决方案1】:

    我假设您正在尝试在 CI/CD 环境中构建您的应用程序? 如果是这种情况,那么您需要先构建放大应用程序的后端部分,然后才能构建前端组件。

    例如,我的应用程序是从 AWS amplify 控制台构建的,并且在我的构建设置中

    version: 0.1
    backend:
      phases:
        build:
          commands:
            - '# Execute Amplify CLI with the helper script'
            - amplifyPush --simple
    frontend:
      phases:
        preBuild:
          commands:
            - yarn install --frozen-lockfile
        build:
          commands:
            - yarn build
      artifacts:
        baseDirectory: build
        files:
          - "**/*"
      cache:
        paths:
          - node_modules/**/*
    

    请注意,后端首先使用amplifyPush --simple 命令构建。这就是生成aws-exports.js 文件的原因。

    【讨论】:

    • 就我而言,amplifyPush --simple 运行良好。但是如果它可以跳过实际的推送操作会更好。看起来很浪费。
    【解决方案2】:

    “aws-exports.js”文件会在 AWS Amplify 运行 CI/CD 部署构建过程时自动创建,并为您部署到的环境配置适当的设置。

    因此,它包含在 .gitignore 中。例如,您不希望在生产部署中使用本地测试配置。

    根据上述 Matthe 的回答,应该在构建脚本运行“amplifyPush”命令时生成。出于某种原因,目前这对我不起作用!

    【讨论】:

      【解决方案3】:

      AWS 添加了对在构建时自动生成 aws-exports.js 的支持以避免出现错误:https://docs.aws.amazon.com/amplify/latest/userguide/amplify-config-autogeneration.html

      【讨论】:

      • 这似乎删除了构建后端更改。
      猜你喜欢
      • 2021-09-18
      • 1970-01-01
      • 2022-10-21
      • 1970-01-01
      • 2020-06-13
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多