npm AWS放大构建设置

izj3ouym  于 2022-12-29  发布在  其他
关注(0)|答案(3)|浏览(163)

使用Amplify时,我在部署React应用程序时遇到困难,我认为这是由于构建设置所致。在尝试部署时,提供的默认构建设置如下所示:

我知道这是不正确的,我在构建日志中发现的错误是:

2020-05-14T00:02:22.327Z [WARNING]: !! No index.html detected in deploy folder: /codebuild/output/src568504829/src/chatterfield/

部署是成功的,除了当我启动应用程序时,我收到ERR_TOO_MANY_REDIRECTS。在我将构建设置中的baseDirectory更改为/client/public以指向index.html之后。应用程序似乎启动时没有REDIRECT错误,但没有加载任何内容。我猜这是因为我没有运行npm run build命令,或者没有加载预构建命令。任何帮助都将不胜感激。谢谢这里是此应用程序链接到的repo:https://github.com/travelerr/chatterfield

vcudknz3

vcudknz31#

将baseDirectory:/更改为baseDirectory:build。它对我很有效。

tp5buhyn

tp5buhyn2#

对于任何人谁发现这一点,并把他们的应用程序在一个文件夹称为前端(或任何其他替代前端的路径到您的应用程序。

version: 0.1
frontend:
  phases:
    preBuild:
        commands:
          - cd frontend
          - npm ci
    build:
        commands:
          - npm run build
  artifacts:
    baseDirectory: ./frontend/build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
8tntrjer

8tntrjer3#

如果你的react文件夹名是“mycoolproject”,你的yml需要cd到那个目录。然后运行build命令。baseDirectory应该是你最终构建的所在地。

version: 0.1
frontend:
  phases:
    preBuild:
        commands:
          - cd mycoolproject
          - npm ci
    build:
        commands:
          - npm run build
  artifacts:
    baseDirectory: ./mycoolproject/build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

此外,您的放大器应该指向一个构建目录... mycoolproject/amplify/config/project-config.json

{
  "providers": [
    "awscloudformation"
  ],
  "projectName": "mycoolproject",
  "version": "3.1",
  "frontend": "javascript",
  "javascript": {
    "framework": "react",
    "config": {
      "SourceDir": "src",
      "DistributionDir": "build",
      "BuildCommand": "npm run-script build",
      "StartCommand": "npm run-script start"
    }
  }
}

相关问题